如何删除按钮上显示的虚线(通过标签或点击它们)?
这个问题适用于winforms
- 感谢任何帮助。
编辑:我为重复的问题道歉。我确实在搜索答案,但我不知道这个问题是由于按钮的“焦点”。结果我没有找到合适的答案。
答案 0 :(得分:1)
您是否尝试从按钮中删除焦点。
只需在点击按钮时调用Focus();
。
答案 1 :(得分:1)
这是因为您的Button
获得了关注。可以删除它,但这意味着在触发按钮焦点Enter event时将焦点放在其他位置。
private void button1_Enter(object sender, EventArgs e)
{
// give focus to something else
}
问题在于你无法使用键盘来选择按钮(使用标签)。
此外,更正确的方法是将焦点放在最后一个有焦点的控件上,而不是将其固定为一个。
答案 2 :(得分:0)
答案 3 :(得分:0)
创建自定义控件,添加ShowFocusCues并进行构建以使用
示例
public class button : System.Windows.Forms.Button
{
protected override bool ShowFocusCues
{
get
{
return false;
}
}
}
答案 4 :(得分:0)
您可以将ShowFocusRectangle
的权限设置为false
。
答案 5 :(得分:0)
这里唯一不需要黑客(将注意力转移到另一个控件上)真正起作用的答案就是Wongsathon Tuntanakan的答案。
我参考了他的答案,还有一点,我已经将他的代码转换为VB:
Public Class YourButtonClass
Inherits System.Windows.Forms.Button
Protected Overrides ReadOnly Property ShowFocusCues As Boolean
Get
Return False
End Get
End Property
End Class