1

当我将鼠标悬停在 C# 表单上的按钮上时,我将它们突出显示为黄色,就像 Microsoft Office 产品一样,但我不希望它显示按钮边框。我见过有人提到 FlatStyle 或 FlatAppearance,但它似乎无法识别这些命令。我现在正在研究渲染,但我是 C# 新手,我确信必须有一种简单的方法来做到这一点,如果可能的话,我不想花很多时间在这上面。

我必须强调,我一直在阅读有关 Windows 窗体编程的书籍,但没有找到任何答案,这并不是因为我很懒,而是我经常发现 SO 是一个非常好的来源,而且输入非常好。

试过这个:

this.TSVehicleButton.BorderStyle = None;

试过这个:

this.TSVehicleButton.System.Windows.Forms.BorderStyle = None;

我尝试了很多东西,但没有在我的问题中提及它,我是 C# 的新手,不想给人留下愚蠢的印象。当人们把他们尝试过但不正确的东西放在一起时,人们会变得有点讨厌。

4

5 回答 5

3

使用以下

public class CustomButton : Button
{
    public CustomButton()
        : base()
    {
        // Prevent the button from drawing its own border
        FlatAppearance.BorderSize = 0;
        FlatStyle = System.Windows.Forms.FlatStyle.Flat;
    }

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

        // Draw Border using color specified in Flat Appearance
        Pen pen = new Pen(FlatAppearance.BorderColor, 1);
        Rectangle rectangle = new Rectangle(0, 0, Size.Width - 1, Size.Height - 1);
        e.Graphics.DrawRectangle(pen, rectangle);
    }
}

我可能会帮助你。

于 2013-10-31T08:53:26.457 回答
2

只需使用this.FlatStyle = FlatStyle.Flat;

于 2014-05-08T14:21:26.670 回答
2

只需在属性窗口中设置以下Button属性,例如在设计时:

FlatStyle=Flat
FlatAppearance.BorderSize=0

或者运行以下代码,例如一个名为 的按钮button1

button1.FlatStyle=True
button1.FlatAppearance.BorderSize=0
于 2017-09-01T13:15:49.253 回答
1

这对我来说非常有效,而且非常简单!

button.FlatAppearance.BorderColor = Color.FromArgb(0, 255, 255, 255); // transparent
button.FlatAppearance.BorderSize = 0;

现在按钮没有边框了,即使你输入了光标。这在 Visual Studio 2015 上完美运行。

于 2017-05-25T19:41:19.253 回答
0

有一种方法可以使边框远离按钮及其在按钮属性中。首先确保您已单击按钮,以便属性属于该按钮。在属性窗格上找到平面外观并通过单击它前面的 + 号来展开它。这将为您打开更多选项,其中一个选项是设置为 1 的边框大小,将其更改为 0,接下来,在下面 3 行有一个名为 FlatStyle 的属性并将其设置为标准,需要将其更改为平坦的。 平面 作业完成!

希望这可以帮助

于 2017-03-22T23:14:15.130 回答