Я работаю над ImageButton, в котором я рисую каждое состояние (у меня есть несколько изображений для каждого состояния) этой кнопки (например, mouseOver, mouseDown и т. Д.).
Я установил контрольпрозрачный, используя этот код:
public ImageButton()
{
InitializeComponent();
this.SetStyle(ControlStyles.Opaque, true);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, false);
}
protected override CreateParams CreateParams
{
get
{
CreateParams parms = base.CreateParams;
parms.ExStyle |= 0x20;
return parms;
}
}
Но есть проблема, после нескольких переключателей состояния, углы становятся острыми и уродливыми, чтобы решить эту проблему, мне нужно очистить фон, но если мой контроль прозрачен, то это невозможно.
Я пробовал это решение: Очистка графики прозрачной панели C # , но она медленная и заставляет мерцание элемента управления.
У вас есть идеи, как очиститьэтот фон и сохранить прозрачность контроля?