繁体   English   中英

删除选项卡C#Winforms上的按钮边框

[英]Remove button border on tab c# winforms

我的表单上有一个应用了平面样式并使用背景图像的按钮,我删除了该按钮的所有边框,但是当我从另一个控件切换到该按钮时,该按钮周围会出现黑色边框。

可以在下图中看到。 左侧是带有黑色边框的按钮,右侧是另一个按钮,但显示了取消按钮的外观。

纽扣

我没有得到这个边界,如果我设置BoderSize0FlatAppearance部分。


进一步的调查表明,只有当按钮是默认按钮时,才会出现该边框。 您可以创建自己的按钮,它永远不会像这样显示边框

public class NoNotifyButton: System.Windows.Forms.Button
{
    public override void NotifyDefault(bool value)
    {
    }
}

注意: NotifyDefault有意保留为空。

你必须要使用一个新的按钮类IButtonControl和变化NotifyDefault为false:

base.NotifyDefault(false);

您可以将按钮属性“ ForeColor”设置为透明

您不必创建派生类。 您可以将ForeColor设置为与父控件BackColor相同。 如下 :

btn1.ForeColor = btn1.Parent.BackColor;

我设法通过将按钮TabStop属性设置为False,然后在按钮单击事件上使用此代码来解决此问题

private void sendBackTab()
        {
            System.Windows.Forms.SendKeys.SendWait("+{TAB}");
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM