当前位置: 首页 > 编程笔记 >

winform创建不规则窗体的方法

皮骏
2023-03-14
本文向大家介绍winform创建不规则窗体的方法,包括了winform创建不规则窗体的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了winform创建不规则窗体的方法。分享给大家供大家参考。具体如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
using System.Drawing.Drawing2D;
using System.IO;
namespace WindowsApplication2
{
 public partial class Form3 : Form
 {
  public Form3()
  {
   InitializeComponent();
   this.FormBorderStyle = FormBorderStyle.None;
   ColorConverter colorconvert = new ColorConverter();
   this.BackColor = (Color)colorconvert.ConvertFromString("window");
   this.TransparencyKey = (Color)colorconvert.ConvertFromString("window");
  }
  private void button1_Click(object sender, EventArgs e)
  {
   this.Close();
  }
  protected override void OnPaint(PaintEventArgs e)
  {
   Graphics g = e.Graphics;
   Rectangle mainRect = new Rectangle(0, 0, 695, 278);
   Region mainRegion = new Region(mainRect);
   e.Graphics.SetClip(mainRegion, CombineMode.Replace);
   //设置窗体的外观形式
   Point point1 = new Point(0, 32);
   Point point2 = new Point(9, 20);
   Point point3 = new Point(21, 13);
   Point point4 = new Point(34, 9);
   // 创建一个以点为元素的数组
   Point[] curvePoints = { point1, point2, point3, point4 };
   // 创建一个GraphicsPath 对象并添加一条曲线
   GraphicsPath gPath = new GraphicsPath();
   gPath.AddCurve(curvePoints, 0, 3, 0.8f);
   gPath.AddLine(36, 9, 378, 9);
   point1.X = 378; point1.Y = 9;
   point2.X = 387; point2.Y = 5;
   point3.X = 394; point3.Y = 0;
   Point[] curvePoints2 = { point1, point2, point3 };
   gPath.AddCurve(curvePoints2, 0, 2, 0.8f);
   gPath.AddLine(394, 0, 0, 0);
   Region rg = new Region(gPath);
   e.Graphics.ExcludeClip(rg);
  //可以为任意图片
   string str = Directory.GetCurrentDirectory() + "\\2.png";
   Image img = Image.FromFile(str);
   e.Graphics.DrawImage(img, 0, 0, 695, 278);
   // 重设剪切好的区域
   e.Graphics.ResetClip();
  }
 }
}

希望本文所述对大家的C#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍winform实现创建最前端窗体的方法,包括了winform实现创建最前端窗体的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了winform实现创建最前端窗体的方法。分享给大家供大家参考。具体实现方法如下: 一、需求: 1).需要这个窗体始终处于前端而且可用 2).在主窗体打开其他模态窗体的时候,这个Form也要处于活动状态。 注意: 设置了Form的 TopMost

  • 本文向大家介绍WinForm窗体间传值的方法,包括了WinForm窗体间传值的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了WinForm窗体间传值的方法。分享给大家供大家参考。具体实现方法如下: 窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式:   1.公共静态变量; 2.使用共有属性; 3.使用委托与事件; 4.通过构造函数把主窗体传递到从窗体中;

  • 想问下大佬们,这个蓝色背景样式的div用css怎么写出来? 网上搜了很多都是做三角形、菱形啥的。能否不用伪类做出来呢?

  • 本文向大家介绍winform异型不规则界面设计的实现方法,包括了winform异型不规则界面设计的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了winform异型不规则界面设计的实现方法,用于界面设计时有不错的用户体验,非常实用。分享给大家供大家参考之用。具体方法如下: 一、不规则WINFORM窗体 Author:unknown From:Internet 在以前版本的Visua

  • 本文向大家介绍WinForm限制窗体不能移到屏幕外的方法,包括了WinForm限制窗体不能移到屏幕外的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了WinForm限制窗体不能移到屏幕外的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 主要内容:绑定窗体,非绑定窗体,绑定窗体的类型,创建窗体Access中的窗体(也叫表单)就像商店中的展示柜一样,可以更容易地查看或获取所需的商品。 由于窗体是您或其他用户可以通过其添加,编辑或显示存储在Access桌面数据库中的数据的对象,因此窗体的设计是一个重要方面。 有很多你可以用Microsoft Access中的窗体进行设计。可以创建两种基本类型的窗体 - 绑定窗体 非绑定窗体 绑定窗体 让我们现在了解绑定窗体是什么 - 绑定窗体连接到一些底层