📜  c# winform 移除按钮边框 - C# (1)

📅  最后修改于: 2023-12-03 14:59:41.134000             🧑  作者: Mango

C# Winform 移除按钮边框

当我们在C# Winform应用程序中添加按钮时,按钮通常会带有默认边框。如果你想要去掉按钮的边框,可以通过以下方法实现。

方法一:控件属性

在Winform设计界面中,选中要去掉边框的按钮,然后打开属性窗口。在属性窗口中找到FlatStyle属性,将其设置为Flat,即可去掉按钮的边框。

代码片段:

button1.FlatStyle = FlatStyle.Flat;
方法二:继承Button类并重写OnPaint方法

另一种方法是通过继承Button类,然后重写OnPaint方法来实现去掉按钮边框的效果。具体实现方法如下:

public class NoBorderButton : Button
{
    public NoBorderButton()
    {
        FlatStyle = FlatStyle.Flat;
        FlatAppearance.BorderSize = 0;
    }

    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);

        Graphics g = e.Graphics;

        g.Clear(BackColor);

        TextFormatFlags flags = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter | TextFormatFlags.WordBreak;

        TextRenderer.DrawText(g, Text, Font, ClientRectangle, ForeColor, flags);
    }
}

在这个类中,我们首先设置FlatStyle和FlatAppearance.BorderSize属性来去掉按钮边框,然后在重写的OnPaint方法中使用TextRenderer.DrawText方法绘制按钮文本。

使用这个类的方法很简单,在Winform设计界面中将要使用的按钮改为NoBorderButton即可。

总结

以上就是我们介绍的两种去掉C# Winform按钮边框的方法。如果你还知道其他实现方式,欢迎在评论区分享。