CSkin博客

标题: 【异形控件】Control.Region 属性实现异形 [打印本页]

作者: 乔克斯    时间: 2014-7-31 11:43
标题: 【异形控件】Control.Region 属性实现异形
Control.Region 属性实现异形
Region属性:获取或设置与控件关联的窗口区域。
命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
属性值与控件关联的窗口或控件的 Region

备注

窗口区域是操作系统允许在其中进行绘制的窗口内的像素的集合。操作系统不显示位于窗口区域之外的窗口的任何部分。控件的区域的坐标相对于控件的左上角,而不是相对于控件的工作区。

注意

该区域包含的像素的集合可以是不连续的。


示例

下面的代码示例阐释了如何通过创建圆形按钮来使用 Region 属性。若要运行该示例,请将下面的代码粘贴到一个包含 roundButton 按钮的窗体中。该示例要求 Paint 事件已连接到该示例中定义的事件处理程序。


C#代码:
[C#] 纯文本查看 复制代码
// This method will change the square button to a circular button by 
// creating a new circle-shaped GraphicsPath object and setting it
// to the RoundButton objects region.
private void roundButton_Paint(object sender,
    System.Windows.Forms.PaintEventArgs e)
{

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

    // Set a new rectangle to the same size as the button's
    // ClientRectangle property.
    System.Drawing.Rectangle newRectangle = roundButton.ClientRectangle;

    // Decrease the size of the rectangle.
    newRectangle.Inflate(-10, -10);
   
    // Draw the button's border.
    e.Graphics.DrawEllipse(System.Drawing.Pens.Black, newRectangle);

    // Increase the size of the rectangle to include the border.
    newRectangle.Inflate( 1,  1);

    // Create a circle within the new rectangle.
    buttonPath.AddEllipse(newRectangle);
            
    // Set the button's Region property to the newly created
    // circle region.
    roundButton.Region = new System.Drawing.Region(buttonPath);

}

作者: xiaobo    时间: 2014-8-1 09:52
有图就更好咯~
作者: 乔克斯    时间: 2014-8-1 10:49
xiaobo 发表于 2014-8-1 09:52
有图就更好咯~

这是微软开发文档的介绍= =。
作者: xiaobo    时间: 2014-8-1 10:52
乔克斯 发表于 2014-8-1 10:49
这是微软开发文档的介绍= =。

是啊,但是你搞这个不如直接写个示例,学起来多方便
作者: bug    时间: 2014-8-2 11:02
管你发的什么都必须回复一遍
作者: 乔克斯    时间: 2014-8-2 11:05
bug 发表于 2014-8-2 11:02
管你发的什么都必须回复一遍


作者: aaaaasuper    时间: 2018-9-2 00:17
有半透明窗体没,并且不抖动
作者: wp231356720    时间: 2018-12-29 15:03
看不懂   太难了点吧  号复杂啊  大哥大姐们
作者: orcfootman    时间: 2019-3-1 18:06
看不到效果图呢?这个是只适合于按钮控件么?
作者: zycmartin    时间: 2019-4-2 11:15
现在还有人用么?




欢迎光临 CSkin博客 (http://bbs.cskin.net/) Powered by Discuz! X3.2