我做了一个简单的按钮,但是当我在获胜表格之外单击时,我的按钮出现黑色边框。顺便说一下,我将BorderSize
设置为“ 0”,当我在表单内部单击时,效果很好。
this.button.FlatAppearance.BorderSize = 0;
那是它的样子。
答案 0 :(得分:0)
一个简单的解决方法是将Button的FlatAppearance.BorderColor设置为其Parent.BackColor
:
this.button1.FlatAppearance.BorderColor = this.button1.Parent.BackColor;
如果可以在某个时候将控件分配给另一个父级,则可以将该属性设置为订阅ParentChanged事件(或覆盖OnParentChanged,如果它是一个自定义控件)。
您还可以使用HandleCreated事件来批量执行相同的操作,并让所有Button(带有 FlatStyle = FlatStyle.Flat
)在表单的构造函数中订阅该事件:
public Form1()
{
InitializeComponent();
foreach (Button button in this.Controls.OfType<Button>().Where(btn => btn.FlatStyle == FlatStyle.Flat))
{
button.HandleCreated += (s, e) => {
button.FlatAppearance.BorderColor = button.Parent.BackColor;
};
}
}
答案 1 :(得分:0)
这似乎是一个焦点问题。当光标离开控件时,尝试重置焦点。
答案 2 :(得分:0)
将这些代码行添加到表单加载事件中。
btn.FlatStyle = FlatStyle.Flat;//You can also use the popup flat style
btn.FlatAppearance.BorderColor = btn.Parent.BackColor;
btn.FlatAppearance.BorderSize = 0;