2010-05-24 80 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