2010-05-24 130 views
7

我想在WinForms中有一个圆形的按钮控件,我该怎么做到这一点?第三方控件或代码示例应该没问题。如何获得圆形按钮?

回答

2

在OnPaint事件处理程序添加自定义绘制。

0

您可能需要使用圆角指定来创建图像,并在图像按钮上使用它来实现您想要的效果。

19

你可以让自己变得很容易,Region属性使它变得简单。为您的项目添加一个新类并粘贴下面显示的代码。编译。将新的控件从工具箱的顶部放到表单上。

using System; 
using System.Drawing; 
using System.Drawing.Drawing2D; 
using System.Windows.Forms; 

class RoundButton : Button { 
    protected override void OnResize(EventArgs e) { 
     using (var path = new GraphicsPath()) { 
      path.AddEllipse(new Rectangle(2, 2, this.Width - 5, this.Height - 5)); 
      this.Region = new Region(path); 
     } 
     base.OnResize(e); 
    } 
} 
+0

如何使用它? – Gali 2011-04-14 07:15:35

+1

编译后从工具箱的顶部将其放下。 – 2011-04-14 09:51:38

+0

为什么不重写OnPaint方法? – 2015-08-12 18:10:31

2

使用WPF如果项目还早,你还可以切换

+0

切换到WPF永远不会迟到! – 2010-05-24 13:37:26