I have a button on my form that has flat style applied and uses a background image, I have removed all borders from the button, but when I tab onto the button from another c
You have to make a new button class using IButtonControl
and change NotifyDefault
to false:
base.NotifyDefault(false);
You don't have to create a derived class. You can set the ForeColor to be the same as parent control BackColor. As follows :
btn1.ForeColor = btn1.Parent.BackColor;
I do not get this border, if I set the BoderSize
to 0
in the FlatAppearance
section.
Further investigation shows that this border appears only when the button is the default button. You can create your own button, which does never show this border like this
public class NoNotifyButton: System.Windows.Forms.Button
{
public override void NotifyDefault(bool value)
{
}
}
Note: NotifyDefault
remains intentionally empty.
I managed to get around this by setting the button TabStop property to False and then using this code on the button click event
private void sendBackTab()
{
System.Windows.Forms.SendKeys.SendWait("+{TAB}");
}
You can do it setting the button property "ForeColor" to transparent