窗口区域是操作系统允许在其中进行绘制的窗口内的像素的集合。操作系统不显示位于窗口区域之外的窗口的任何部分。控件的区域的坐标相对于控件的左上角,而不是相对于控件的工作区。
注意 |
该区域包含的像素的集合可以是不连续的。 |
下面的代码示例阐释了如何通过创建圆形按钮来使用 Region 属性。若要运行该示例,请将下面的代码粘贴到一个包含 roundButton 按钮的窗体中。该示例要求 Paint 事件已连接到该示例中定义的事件处理程序。
// 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
这是微软开发文档的介绍= =。
bug 发表于 2014-8-2 11:02
管你发的什么都必须回复一遍
欢迎光临 CSkin博客 (http://bbs.cskin.net/) | Powered by Discuz! X3.2 |