菜鸟互啄:WINFORM如何实现无聚焦框的Button按钮

Posted likeheart

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了菜鸟互啄:WINFORM如何实现无聚焦框的Button按钮相关的知识,希望对你有一定的参考价值。

当我们将一个button按钮设置如下属性时,总有一个聚焦框来困扰着我们

button1.FlatStyle = FlatStyle.Flat;

我们想要的效果是这样的:

                                                                    

 

但当使用了Tab切换焦点时 发现按钮获取焦点后 成了这个样子

 

                                                                        

 

这个黑框是什么鬼啊 现在就讲一下如何去掉这个聚焦框

 

方法一:

   肯定有人想得到用label啊,当然label是可以,但它毕竟不是按钮,有些效果还得自己写….

发法二:

1.新建一个自定义控件

                                                

 

 

2.代码

 

 1 public partial class BtnNoBorder : Button
 2 {
 3    /// <summary>
 4    /// 构造
 5    /// </summary>
 6    public BtnNoBorder()
 7    {
 8      InitializeComponent();
 9    } 
10 
11    /// <summary>
12    /// 重绘
13    /// </summary>
14    /// <param name="pe"></param>
15    protected override void OnPaint(PaintEventArgs pe)
16    {
17       base.OnPaint(pe);
18    }
19 
20    /// <summary>
21    /// 取消聚焦框
22    /// </summary>
23    protected override bool ShowFocusCues
24    {
25      get
26        {
27           return false;
28        }
29     }
30 }

 

 

这样就搞定了,用的时候从工具箱拖这个button就可以了

具体如何把这个控件加到工具箱就不介绍了

方法三(2017.4.19)


偶然发现 Dev的按钮(simpleButton)有个属性可以去掉该聚焦框,代码如下:

 1 simpleButton.ShowFocusRectangle = DevExpress.Utils.DefaultBoolean.False; 

 

以上是关于菜鸟互啄:WINFORM如何实现无聚焦框的Button按钮的主要内容,如果未能解决你的问题,请参考以下文章

winform中按钮的被点击时的边框如何去掉?

Winform Enter键实现Tab键聚焦

C#Winform中怎么设置文本框的文本不能被选中,就像QQ登录框那样 不给复制的

菜鸡互啄队—— 团队合作

Winform 获取当前单击的控件名称 和 向窗体添加控件

winform 程序 如何实现输入文本框 出现下拉数据提示(数据库读取)