C# 如何更改按钮的边框颜色?
这是我的代码:C# 如何更改按钮的边框颜色?,c#,winforms,C#,Winforms,这是我的代码: buttonName = "btn" + y.ToString() + x.ToString(); Control btn = this.Controls.Find(buttonName, true)[0] as Control; btn.BackColor = System.Drawing.Color.Blue; 但是,我看不到边界颜色更改属性等 我使用这段代码是因为我的表单上有很多按钮,这些按钮的任何属性都可以更改,所以我没有单独调用它们,而是编写了可以处理它们的代码 是否
buttonName = "btn" + y.ToString() + x.ToString();
Control btn = this.Controls.Find(buttonName, true)[0] as Control;
btn.BackColor = System.Drawing.Color.Blue;
但是,我看不到边界颜色更改属性等
我使用这段代码是因为我的表单上有很多按钮,这些按钮的任何属性都可以更改,所以我没有单独调用它们,而是编写了可以处理它们的代码
是否有类似于上述代码的代码,允许我更改按钮的边框颜色?您需要将控件强制转换为按钮(或任何类型)。控件是基类,不包含修改边框颜色的属性。这是windows应用程序吗?根据您的框架,有一个名为BorderColor的新属性 , 你查过了吗 这里还有一个类似的例子
我不确定您正在使用哪种类型的应用程序,但是在winforms中,即使在设计器中,按钮也没有边框属性。您可以使用平面样式按钮。你的类型必须是按钮 你可以这样做:
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,您可以在Paint中使用ControlPaint.DrawBorder来更改边框颜色的按钮
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
);
}
据微软()
适用于
.NET框架
4.7.2、4.7.1、4.7、4.6.2、4.6.1、4.6、4.5.2、4.5.1、4.0、3.5、3.0、2.0、1.1
你看不到边框颜色的变化,但是在你的代码中你设置了控件的背景颜色…嗯,背景颜色变化很好。但是对于边框颜色,我看不到任何可以修改的属性。无论如何,不是从那个代码。是的,这是一个windows应用程序。如何将控件转换为按钮?按钮按钮=控件转换为按钮;或按钮=(按钮)控件;嗯,那很快。谢谢如果我做了以下更改,那么这段代码可以工作:Button btn=this.Controls.Find(buttonName,true)[0]作为按钮;是的,很抱歉我复制你的代码时错过了第二个条目。编辑答案