我在使用C#开发的应用程序中有一个表单。在该表单中,我创建了一个图形形状(一个圆)。在运行时,我希望我的窗体也只具有该形状。也就是说,我只想显示图形,而不是窗体背景或标题栏或任何东西。我只想显示该图形。但问题是我不能塑造我的形态。我将该图形控件作为User-Control添加到我的窗体中。
发布于 2010-01-18 13:44:01
我怀疑你是想做一个类似闪屏的效果。这并不是很难做到的。这是一个很好的tutorial,可以帮助您入门。
技巧本质上是将窗体的透明键设置为您希望透明的颜色(在本例中,除了您的圆以外的所有颜色。此外,您需要将窗体设置为无边框。
顺便说一句,你可以编辑你的问题,添加一些关于你为什么要这样做的信息--我很好奇你在用户体验方面的目标是什么。
发布于 2010-01-18 14:41:31
您还可以检查Region属性的MSDN。你可以使用System.Drawing对象来绘制你想要的任何形状,然后在它显示之前设置forms Region属性,它将采用你给it...heres的任何形状一个简短的例子:
http://www.vcskicks.com/custom_shape_form_region.php
发布于 2010-01-18 14:51:25
如果需要圆形表单,可以将以下代码放入表单加载事件处理程序中:
System.Drawing.Drawing2D.GraphicsPath myPath = new System.Drawing.Drawing2D.GraphicsPath();
//this line of code adds an ellipse to the graphics path that inscribes
//the rectangle defined by the form's width and height
myPath.AddEllipse(0,0,this.Width,this.Height);
//creates a new region from the GraphicsPath
Region myRegion = new Region(myPath);
this.Region = myRegion;然后将窗体的FormBorderStyle属性设置为None。
https://stackoverflow.com/questions/2084079
复制相似问题