Я создаю свою собственную кнопку CustomButton.
public partial class CustomButton : Button
{
public Image Background_Hover { get; set; }
public Image Background_Down { get; set; }
public Image Background_Normal;
public Image Image_Hover { get; set; }
public Image Image_Down { get; set; }
public Image Image_Normal;
public Color ForeColor_Hover { get; set; }
public Color ForeColor_Down { get; set; }
public Color ForeColor_Normal;
public CustomButton()
{
InitializeComponent();
this.SetStyle(ControlStyles.Selectable, false);
}
protected override void OnMouseEnter(System.EventArgs e)
{
Background_Normal = base.BackgroundImage;
if (Background_Hover != null) base.BackgroundImage = Background_Hover;
Image_Normal = base.Image;
if (Image_Hover != null) base.Image = Image_Hover;
ForeColor_Normal = base.ForeColor;
if (ForeColor_Hover != Color.Empty) base.ForeColor = ForeColor_Hover;
base.OnMouseEnter(e);
}
protected override void OnMouseLeave(System.EventArgs e)
{
if (Background_Hover != null) base.BackgroundImage = Background_Normal;
if (Image_Hover != null) base.Image = Image_Normal;
if (ForeColor_Hover != Color.Empty) base.ForeColor = ForeColor_Normal;
base.OnMouseLeave(e);
}
protected override void OnMouseDown(MouseEventArgs e)
{
if (Background_Down != null) base.BackgroundImage = Background_Down;
if (Image_Down != null) base.Image = Image_Down;
if (ForeColor_Down != Color.Empty) base.ForeColor = ForeColor_Down;
base.OnMouseDown(e);
}
protected override void OnMouseUp(MouseEventArgs e)
{
if (Background_Hover != null) base.BackgroundImage = Background_Hover;
if (Image_Hover != null) base.Image = Image_Hover;
if (ForeColor_Hover != Color.Empty) base.ForeColor = ForeColor_Hover;
base.OnMouseUp(e);
}
}
И я создаю форму входа, поэтому я хочу закрыть форму входа при вводе пользователем Enter или ESC.
Поэтому я добавляю CustomButton и назначаю CustomButtonв форме входа в AcceptButton и свойстве Cancel Button.
Но это не работает, и даже событие щелчка не происходит, когда я ввожу Enter или ESC.
Я не знаю, почему это не такне работает.
Поскольку я делаю CustomButton, унаследованный System.Windows.Forms.Button.
Я думаю, что он работает как System.Windows.Forms.Button, но это не так.
Как я могу решить эту проблему?