|
在C# winfrom项目,如何将form窗体由矩形绘制成圆形窗体。 |
|
| 2分 |
建议楼主还是考虑用WPF
|
| 3分 | |
|
刚刚看了一个文章讲解github for windows的设计,也是用wpf,但是我没学过,只懂一点点,与winform设计的区别很大么?学习时间需要多久?
|
|
| 7分 |
http://www.cnblogs.com/haiq/articles/1751777.html
|
| 3分 |
/// <summary>
/// 窗体圆角
/// </summary>
/// <param name="sender"></param>
private void Type(Control sender)
{
GraphicsPath oPath = new GraphicsPath();
oPath.AddPolygon(
new Point[] {
new Point(0, 1),
new Point(1, 0),
new Point(sender.Width -1, 0),
new Point(sender.Width , 1),
new Point(sender.Width, sender.Height-2),
new Point(sender.Width-1, sender.Height-1),
new Point(sender.Width-1, sender.Height),
new Point(1, sender.Height),
new Point(1, sender.Height-1),
new Point(0, sender.Height-2),
}
);
sender.Region = new Region(oPath);
}
f.Paint += delegate(object sender, PaintEventArgs e)
{
Type(f);
//窗体头部颜色设置
e.Graphics.FillPolygon(new SolidBrush(HeadColor), new Point[] {
new Point(0, 1),
new Point(1, 0),
new Point(this.Width -1, 0),
new Point(this.Width , 1),
new Point(this.Width, 50),
new Point(0, 50),
});
};
想怎么画就怎么画。 |
|
运行窗体后,圆形的边框不平滑,有齿轮效果,怎么样做到圆形的边框平整圆滑的效果。
我采用的是圆形图片作为picturebox图形,代码如下,看看怎么修改下。 private void Form1_Load(object sender, EventArgs e) { //程序启动后,窗体在屏幕中央显示 this.Left = (SystemInformation.PrimaryMonitorMaximizedWindowSize.Width – this.Width) / 2; this.Top = (SystemInformation.PrimaryMonitorMaximizedWindowSize.Height – this.Height) / 2; //从指定的位图中获取透明度大于 10 的区域; } /// <summary> |
|
|
请帮忙看看,谢谢。
|
|
|
winfrom不行,wpf可以
|
|
|
有没有其它办法? |
|
|
SetWindowRgn
|
|
|
有没有其它办法?
|
|
|
用第三方界面库可以实现,各种各样的形状和透明都可以。
http://bbs.cskin.net/ 你可以去看看 |
|
|
winform也是可以的。设置窗体Region就可以了。 |
|
|
能不能,具体点? |
|
| 5分 |
这个方法不错,可以试一下 |