如何更改按钮的边框颜色?

本文关键字:颜色 边框 何更改 按钮 | 更新日期: 2023-09-27 18:15:27

这是我的代码:

buttonName = "btn" + y.ToString() + x.ToString();
Control btn = this.Controls.Find(buttonName, true)[0] as Control;
btn.BackColor = System.Drawing.Color.Blue;

但是,我没有看到边框颜色改变属性,或类似的

我使用这段代码是因为我的表单上有很多按钮,这些按钮的任何属性都可以改变,所以我没有单独调用它们,而是编写了可以处理它们的代码。

是否有一个类似于上面的代码,这将允许我改变按钮的边框颜色?

如何更改按钮的边框颜色?

我不知道你在做什么类型的应用程序,但是在winforms中没有直接在它上面的按钮的边界属性,即使在设计器中也是如此。您可以使用扁平样式的按钮。你的类型必须是button。

你可以这样做:

buttonName = "btn" + y.ToString() + x.ToString();
Button btn = this.Controls.Find(buttonName, true)[0] as Button;
btn.BackColor = System.Drawing.Color.Blue;
btn.FlatStyle = FlatStyle.Flat
btn.FlatAppearance.BorderColor = Color.Red;
btn.FlatAppearance.BorderSize = 1;

不幸的是,这只适用于FlatStyle的按钮。

可以使用flatAppearance。BorderColor

    btn.FlatAppearance.BorderColor = System.Drawing.Color.Blue;

我知道这个问题在很久以前(2011年)就被问到了,但我认为我的评论对某些人来说是有用的:不使用FlatStyle,你可以使用ControlPaint。如果你想改变按钮的边框颜色

    private void btnName_Paint(object sender, PaintEventArgs e)
    {
        Button btn = (Button)sender;
        ControlPaint.DrawBorder(e.Graphics, btn.ClientRectangle,
                                Color.LightGreen, 1, ButtonBorderStyle.Solid,
                                Color.LightGreen, 1, ButtonBorderStyle.Solid,
                                Color.LightGreen, 1, ButtonBorderStyle.Solid,
                                Color.LightGreen, 1, ButtonBorderStyle.Solid
                                );
    }

根据Microsoft (link)

适用

。净框架

4.7.2 4.7.1, 4.7, 4.6.2, 4.6.1, 4.6, 4.5.2, 4.5.1, 4.5, 4.0, 3.5, 3.0, 2.0, 1.1

根据你的框架,有一个名为BorderColor的新属性

http://msdn.microsoft.com/en-us/library/system.windows.forms.flatbuttonappearance.bordercolor.aspx

你检查过了吗?

还有一个类似的例子

更改Windows窗体控件的边框颜色

您需要将Control转换为Button(或任何类型)。控件是基类,并且不包含修改边框颜色的属性。这是windows应用程序吗?