如何在c#中制作按钮、文本框、窗体和groupbox的圆边?

如何在c#中制作按钮、文本框、窗体和groupbox的圆边?,c#,winforms,button,textbox,groupbox,C#,Winforms,Button,Textbox,Groupbox,我想让我的按钮、表单、文本框和分组框的边缘稍微圆一点。我试过这个 GraphicsPath mygp = new GraphicsPath(); Graphics mygr = this.CreateGraphics(); Pen myp = new Pen(Color.Black, 1); mygp.AddArc(400, 10, 30, 30, 180, 90); mygp.AddArc(600, 10, 30, 30, 270, 90); mygp.AddArc(600, 200,

我想让我的按钮、表单、文本框和分组框的边缘稍微圆一点。我试过这个

GraphicsPath mygp = new GraphicsPath();
Graphics mygr = this.CreateGraphics(); 
Pen myp = new Pen(Color.Black, 1);

mygp.AddArc(400, 10, 30, 30, 180, 90);

mygp.AddArc(600, 10, 30, 30, 270, 90);
mygp.AddArc(600, 200, 30, 30, 0, 90);
mygp.AddArc(400, 200, 30, 30, 90, 90);
mygr.FillPath(Brushes.Black, mygp);
mygr.DrawPath(myp, mygp);
它用圆边做成块。但我希望我的按钮等有圆形的边缘


请帮帮我。

我认为最合适的方法是在OnPaint事件中编写代码,这样您就可以自己绘制按钮了。在下面的链接中,您将使用相同的方法找到一个好的解决方案


WinForms为每个控件创建一个窗口句柄,窗口句柄为矩形。圆角是可能的,但不容易做好。如果您想要奇形怪状的按钮(并且希望它们看起来不错),那么最好使用WPF而不是WinForms。如果出于某种原因您确实需要WinForms,请查看第三方库;其中一些是可蒙皮的,可能允许这种自定义。您很早就遇到了问题。这并不像创建一个图形路径那么简单……您需要重新绘制整个控件。我建议你要么在GDI/GDI+上投入大量的时间(这正变得不受欢迎),要么……转向WPF,这将使你的生活变得更简单@你能给我解释一下什么是WPF吗?实际上,我是C语言初学者。@ USE3193652 WPF代表Windows演示文稿基金会。这是微软构建Windows GUI应用程序的新方法。基于DirectX图形而不是GDI/GDI+,如果您是C#新手,那么一定要选择WPF,否则,从Windows窗体到WPF的学习曲线过渡将是一场噩梦!