详解C#创建不规则窗体的几种方式

详解C#创建不规则窗体的几种方式

ID:39624966

大小:132.47 KB

页数:8页

时间:2019-07-07

详解C#创建不规则窗体的几种方式_第1页
详解C#创建不规则窗体的几种方式_第2页
详解C#创建不规则窗体的几种方式_第3页
详解C#创建不规则窗体的几种方式_第4页
详解C#创建不规则窗体的几种方式_第5页
资源描述:

《详解C#创建不规则窗体的几种方式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在这里我们将实现的是C#创建不规则窗体的几种方式,包括自定义窗体,不规则图形等等。希望对大家有所帮助。AD:现在,C#创建不规则窗体不是一件难事,下面总结一下:一、自定义窗体一般为规则的图形,如圆、椭圆等。做法:重写Form1_Paint事件(Form1是窗体的名字),最简单的一种情况如下:1.System.Drawing.Drawing2D.GraphicsPath shape = new System.Drawing.Drawing2D.GraphicsPath(); 2.shape.AddEllips

2、e(0,0,this.Height, this.Width); 3.this.Region = new Region(shape); 即重绘窗体的规则。二、利用背景图片实现1.  设置窗体的背景图片,其中背景图片是24位(不包括24)以下的位图(BMP图片),并且要设置TansparencyKey的值,一般为你背景图片的背景色,即创建不规则图片时的底色,一般设为你图片中没有的颜色。这种做法的不好的地方就是背景图片一定要16位或者更低的,而且还要确保客户端的显示。如果监视器的颜色深度设置大于24位,则不管Tr

3、ansparencyKey属性是如何设置的,窗体的非透明部分都会产生显示问题。若要避免出现这种问题,请确保“显示”控制面板中的监视器颜色深度的设置小于24位。当开发具有这种透明功能的应用程序时,请牢记应使您的用户意识到此问题。实现步骤如下:1. 新建windowsapplication2. 选择窗体,找到BackgroundImage属性,点击打开新的窗口,选择下面的导入资源文件,选择你的不规则的BMP图片3. 找到窗体的TansparencyKey,将它设置为你背景图片的背景色(如黄色)4. 找到窗体的F

4、ormBorderStyle,将其设置为none,即不显示标题栏5. 运行2.      跟背景图片一样的图形,不过是动态加载,遍历位图以实现不规则窗体。它的原理是这样的,在Form的load事件中写方法使得窗体的描绘区域发生改变。实现步骤如下:1. 建立winform应用程序2. 找到窗体的Load事件,双击进行编辑3. 编写方法,主要的代码如下:1.class BitmapRegion 2.{ 3.    public BitmapRegion() 4.    { } 5. 

5、6. 7.    /// 

  8.    /// Create and apply the region on the supplied control 9.    /// 创建支持位图区域的控件(目前有button和form) 10.    ///   11.    /// The Control object to apply the region to控件  12.    /// 

6、"bitmap">The Bitmap object to create the region from位图  13.    public static void CreateControlRegion(Control control, Bitmap bitmap) 14.    { 15.        // Return if control and bitmap are null 16.        //判断是否存在控件和位图 17.        if (control == nu

7、ll 

8、

9、 bitmap == null) 18.            return; 19. 20.        // Set our control''s size to be the same as the bitmap 21.        //设置控件大小为位图大小 22.        control.Width = bitmap.Width; 23.        control.Height = bitmap.Height; 24.        // Check if we are d

10、ealing with Form here  25.        //当控件是form时 1.        if (control is System.Windows.Forms.Form) 2.        { 3.            // Cast to a Form object 4.            //强制转换为FORM 5.            Form form = (Form)c

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。