删除按钮上的虚线

时间:2013-03-28 13:28:27

标签: c# winforms

如何删除按钮上显示的虚线(通过标签或点击它们)?

这个问题适用于winforms - 感谢任何帮助。

enter image description here

编辑:我为重复的问题道歉。我确实在搜索答案,但我不知道这个问题是由于按钮的“焦点”。结果我没有找到合适的答案。

6 个答案:

答案 0 :(得分:1)

您是否尝试从按钮中删除焦点。

只需在点击按钮时调用Focus();

答案 1 :(得分:1)

这是因为您的Button获得了关注。可以删除它,但这意味着在触发按钮焦点Enter event时将焦点放在其他位置。

private void button1_Enter(object sender, EventArgs e)
{
    // give focus to something else
}

问题在于你无法使用键盘来选择按钮(使用标签)。

此外,更正确的方法是将焦点放在最后一个有焦点的控件上,而不是将其固定为一个。

答案 2 :(得分:0)

查找按钮边框设置。

如果我在BorderSize部分中将0设置为FlatAppearance

,我就没有这个边框

来自Remove button border on tab c# winforms

答案 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