首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重塑表单?

如何重塑表单?
EN

Stack Overflow用户
提问于 2010-01-18 13:36:53
回答 3查看 1.6K关注 0票数 2

我在使用C#开发的应用程序中有一个表单。在该表单中,我创建了一个图形形状(一个圆)。在运行时,我希望我的窗体也只具有该形状。也就是说,我只想显示图形,而不是窗体背景或标题栏或任何东西。我只想显示该图形。但问题是我不能塑造我的形态。我将该图形控件作为User-Control添加到我的窗体中。

EN

回答 3

Stack Overflow用户

发布于 2010-01-18 13:44:01

我怀疑你是想做一个类似闪屏的效果。这并不是很难做到的。这是一个很好的tutorial,可以帮助您入门。

技巧本质上是将窗体的透明键设置为您希望透明的颜色(在本例中,除了您的圆以外的所有颜色。此外,您需要将窗体设置为无边框。

顺便说一句,你可以编辑你的问题,添加一些关于你为什么要这样做的信息--我很好奇你在用户体验方面的目标是什么。

票数 3
EN

Stack Overflow用户

发布于 2010-01-18 14:41:31

您还可以检查Region属性的MSDN。你可以使用System.Drawing对象来绘制你想要的任何形状,然后在它显示之前设置forms Region属性,它将采用你给it...heres的任何形状一个简短的例子:

http://www.vcskicks.com/custom_shape_form_region.php

票数 2
EN

Stack Overflow用户

发布于 2010-01-18 14:51:25

如果需要圆形表单,可以将以下代码放入表单加载事件处理程序中:

代码语言:javascript
复制
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。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2084079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档