winform 窗体变成圆角

public void SetWindowRegion()
{

System.Drawing.Drawing2D.GraphicsPath FormPath;

FormPath = new System.Drawing.Drawing2D.GraphicsPath();

Rectangle rect = new Rectangle(0, 22, this.Width, this.Height - 22);//this.Left-10,this.Top-10,this.Width-10,this.Height-10);

FormPath = GetRoundedRectPath(rect, 30);

this.Region = new Region(FormPath);

}

private GraphicsPath GetRoundedRectPath(Rectangle rect, int radius)
{

int diameter = radius;

Rectangle arcRect = new Rectangle(rect.Location, new Size(diameter, diameter));

GraphicsPath path = new GraphicsPath();

// 左上角

path.AddArc(arcRect, 180, 90);

// 右上角

arcRect.X = rect.Right - diameter;

path.AddArc(arcRect, 270, 90);

// 右下角

arcRect.Y = rect.Bottom - diameter;

path.AddArc(arcRect, 0, 90);

// 左下角

arcRect.X = rect.Left;

path.AddArc(arcRect, 90, 90);

path.CloseFigure();

return path;

}

protected override void OnResize(System.EventArgs e)
{

this.Region = null;

SetWindowRegion();

}

时间: 2024-11-09 10:35:48

winform 窗体变成圆角的相关文章

winform重绘窗体成圆角(网上借鉴)

winform做圆角窗体: 1 //重绘窗体为圆角 2 private void frmMain_Paint(object sender, PaintEventArgs e) 3 { 4 #region 5 6 List<Point> list = new List<Point>(); 7 int width = this.Width; 8 int height = this.Height; 9 10 #region 四个圆角 11 12 //左上 13 list.Add(new

winform窗体中查找控件

private RichTextBox FindControl()        { RichTextBox ret = null;            try            {                Control[] controls = Application.OpenForms["MainForm"].Controls.Find("txtContent", false);                if (controls != nul

c#Winform窗体 自动生成EXCEL并可以插入数据

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data; using System.Windows.Forms; using System.Data.OleDb;using System.IO;using System.Drawing;using System.Linq;using System.Text; namespace EPAS.f06PreData//自己命名

C#使用事件方式Winform窗体之间传值

[摘自:http://www.cnblogs.com/codeToUp/p/5371062.html] 工程的源代码地址:https://github.com/yes-or-no/WinFormTransValueDemoByDelOrEvent.git C#winform窗体间传值,三种方法示例,注释详细.使用方法:使用vs2013打开编译运行即可: 工程中总共介绍了三种方法:###方法1:通过保存对象的引用调用其方法实现对子窗体的控制:###方法2:通过委托,在子窗体显示之前,为委托赋值,关

WPF加载Winform窗体时 报错:子控件不能为顶级窗体

一.wpf项目中引用WindowsFormsIntegration和System.Windows.Forms 二.Form1.Designer.cs 的 partial class Form1 设置为:public partial class Form1 三.代码如下: XXXX.Form1 Zhuwindow = new XXXX.Form1(); Zhuwindow.TopLevel = false; Zhuwindow.FormBorderStyle = System.Windows.Fo

.NET vs2010中使用IrisSkin2.dll轻松实现winForm窗体换肤功能

.NET vs2010中使用IrisSkin2.dll轻松实现winForm窗体换肤功能 转载▼ 大家好,从事c-s开发的C#程序员经常为winForm的界面设计苦恼,笔者曾经也深受“美工神话”的危害,如今提到美工,界面布局设计就开始蛋疼…. 所幸的是,笔者无意间接触到了一些比较可爱的第三方控件,可以为我们程序员省掉很多美工上面的麻烦…在陆续的博客中我会为大家介绍,今天我们的主题是:IrisSkin2.dll IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现winFor

小例子(二)、winform窗体间的关系

写一个关于winform窗体间的关系 1.登陆,思路:登陆后隐藏登陆窗体,关闭Form2时结束整个应用程序. 1 //登陆窗体 2 private void button2_Click(object sender, EventArgs e) 3 { 4 Form2 fr = new Form2(); 5 this.Visible = false;//隐藏窗体 6 fr.Show(); 7 } 1 //注册一个关闭时结束程序的事件,FormClosing 2 private void Form2_

winform窗体跟随窗体

Form2 frm2 = new Form2(); private void MoveProc() { frm2.StartPosition = FormStartPosition.CenterParent; frm2.Left = this.Left + panel1.Left; frm2.Top = this.Top + panel1.Top; } public Form1() { InitializeComponent(); MoveProc(); this.AddOwnedForm(fr

WinForm 窗体属性 窗体美化

WinForm是·Net开发平台中对Windows Form的一种称谓. Windows窗体的一些重要特点如下: 功能强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序. 操作方便:新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括Microsoft SQL Server.Microsoft Access.Jet.DB2以及Oracle等. 使用安全:Windows窗体充分利用公共语言运行库的安全特性.这就意味着,