Итак, я создаю пользовательский пользовательский элемент управления в .NET 2.0, и этот пользовательский элемент управления в основном представляет собой комбинированный пользовательский элемент управления (на нем есть изображение с меткой). И эта функция в основном действует как кнопка, ее можно нажимать и т. Д.
Теперь у меня проблема по какой-то причине, стиль рамки не поддерживает 3D-границы ...
Поэтому, когда кнопка не нажата, она должна выглядеть как Border3dStyle.Raised. Затем, когда он нажимается, он должен выглядеть как Border3dStyle.Sunken.
Я добился получения Border3dStyle.Raised, переопределив метод OnPaint. Вот так ...
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
ControlPaint.DrawBorder3D(e.Graphics, this.ClientRectangle, Border3DStyle.Raised);
}
У меня есть другой метод, который я хотел бы вызвать, когда нажата сама кнопка, это то, что я думал, может сработать.
private void UserInkControl_Paint(object sender, PaintEventArgs e)
{
Rectangle borderRectangle = this.ClientRectangle;
ControlPaint.DrawBorder3D(e.Graphics, borderRectangle, Border3DStyle.Sunken);
}
Я зарегистрировал это в событии загрузки
private void UserInkControl_Load(object sender, EventArgs e)
{
this.Paint += new System.Windows.Forms.PaintEventHandler(this.UserInkControl_Paint);
}
Как я могу вызвать UserInkControl_Paint при срабатывании события click?