如何获得一个圆形按钮?(关于IT技术)

7

我想在WinForms中使用一个圆形按钮控件,该如何实现?第三方控件或代码示例均可。

6个回答

21

你可以很容易地创建自己的控件,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);
    }
}

1
编译后从工具箱顶部拖放。 - Hans Passant
1
为什么不重写OnPaint方法? - Jeson Martajaya

2

2
在OnPaint事件处理程序中添加自定义绘图。

2
如果项目还处于早期阶段并且您仍然可以切换,建议使用WPF。

转向WPF从未为时过晚! - Claus Jørgensen

1

0
你可能需要创建一个带有圆角规格的图像,并在图像按钮上使用它来实现你想要的效果。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接