圆角窗体,四个角弧度不一样,该怎么解决?

haojialin 2010-02-08 03:37:13
我从网上找的设置,圆角窗体的代码,最后的结果的确圆角了,但四个圆角的弧度不一样呀,什么原因呀?我眼睛的问题?还是?

//设置圆角
private GraphicsPath GetRoundedRectPath(Rectangle rect, int radius)
{
int diameter = radius;
Rectangle arcRect = new Rectangle(rect.Location, new Size(diameter, diameter));
GraphicsPath path = new GraphicsPath();
// 左上角
path.AddArc(arcRect, 180, 90);
// 右上角
arcRect.X = rect.Right - diameter;
path.AddArc(arcRect, 270, 90);
// 右下角
arcRect.Y = rect.Bottom - diameter;
path.AddArc(arcRect, 0, 90);
// 左下角
arcRect.X = rect.Left;
path.AddArc(arcRect, 90, 90);
path.CloseFigure();
return path;
}
public void SetWindowRegion()
{
System.Drawing.Drawing2D.GraphicsPath FormPath;
FormPath = new System.Drawing.Drawing2D.GraphicsPath();
Rectangle rect = new Rectangle(0, 0, this.Width, this.Height);//this.Left-10,this.Top-10,this.Width-10,this.Height-10);
FormPath = GetRoundedRectPath(rect, 10);
this.Region = new Region(FormPath);
}
//结束



如果这个不行,那还有没有更好的办法呢?研究一下午了,始终没搞明白,
...全文
403 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Xanadu2008 2011-06-30
  • 打赏
  • 举报
回复
顶起,楼上接分真猛
haojialin 2010-02-09
  • 打赏
  • 举报
回复
我也顶起,怎么解决呀
sknice 2010-02-09
  • 打赏
  • 举报
回复
的确是不一样,我也遇到过
haojialin 2010-02-09
  • 打赏
  • 举报
回复
没人回答我就把csdn论坛程序顶坏,死循环为纸
haojialin 2010-02-09
  • 打赏
  • 举报
回复
崩溃了,都没有现成的?哈哈
Baesky 2010-02-09
  • 打赏
  • 举报
回复
AddArc就是画弧的API,比你手工自己写肯定高效。
没时间测你代码,如果效果不理想,请尝试调整某些参数~
haojialin 2010-02-09
  • 打赏
  • 举报
回复
怎么个意思?有其他的方法吗?比如API的方法?或者......
Baesky 2010-02-09
  • 打赏
  • 举报
回复
楼上接分真猛~告诉我接分秘籍吧?
wanui2009 2010-02-09
  • 打赏
  • 举报
回复
我来接分的
wanui2009
理查德 2010-02-08
  • 打赏
  • 举报
回复
FormPath = GetRoundedRectPath(rect, 90);
把第二个参数设置大点,看到的效果就要好些了。。。。
不过这个做出来的效果真的有点难看。。。。
理查德 2010-02-08
  • 打赏
  • 举报
回复
我也来顶一个,先尝试一下这个问题。。。。
haojialin 2010-02-08
  • 打赏
  • 举报
回复
恢复了,我先顶起,哈
jiangchao1985 2010-02-08
  • 打赏
  • 举报
回复
不行了 顶一下吧 关注中
nixiang12 2010-02-08
  • 打赏
  • 举报
回复
CSDN告诉我
每天回帖即可获得10分可用分!
tangx100 2010-02-08
  • 打赏
  • 举报
回复
这个确没做过,帮你看看
haojialin 2010-02-08
  • 打赏
  • 举报
回复
不行,还的顶起来,顶者有分
haojialin 2010-02-08
  • 打赏
  • 举报
回复
顶起了,现在还规定字数,了 ,
flyfly2008 2010-02-08
  • 打赏
  • 举报
回复
只能帮你顶起,看不明
haojialin 2010-02-08
  • 打赏
  • 举报
回复
我是win2003系统?这个也分系统???如果分系统?怎么做个万能的呀?
haojialin 2010-02-08
  • 打赏
  • 举报
回复
我发错地方了?圆角巨型窗口该怎么搞?我的哪里错了呀?
加载更多回复(1)

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧