用C#重绘按钮控件,使边框为圆形
时间: 2023-07-17 12:02:19 浏览: 284
在 C# 中,你可以通过继承 `Button` 控件并重写其 `OnPaint` 方法来自定义绘制按钮的外观。下面是一个示例代码,可以将按钮的边框绘制为圆形:
```csharp
using System;
using System.Drawing;
using System.Windows.Forms;
public class RoundButton : Button
{
protected override void OnPaint(PaintEventArgs e)
{
GraphicsPath path = new GraphicsPath();
path.AddEllipse(0, 0, ClientSize.Width, ClientSize.Height);
this.Region = new Region(path);
base.OnPaint(e);
}
}
// 使用自定义的 RoundButton 控件
public class MainForm : Form
{
public MainForm()
{
RoundButton roundButton = new RoundButton();
roundButton.Text = "圆形按钮";
roundButton.Size = new Size(100, 100);
roundButton.Location = new Point(50, 50);
this.Controls.Add(roundButton);
}
}
// 在 Main 方法中启动窗体
public class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
```
在上面的示例代码中,我们创建了一个名为 `RoundButton` 的自定义按钮控件,并在该控件的 `OnPaint` 方法中使用 `GraphicsPath` 和 `Region` 来绘制按钮的边框为圆形形状。然后,在 `MainForm` 窗体中使用我们自定义的按钮控件。你可以根据需要调整按钮的大小、位置等属性。
阅读全文