У меня есть ToolStripButton, который выполняет действие. Пользователь нажимает кнопку, и кнопка отключается, чтобы предотвратить выполнение действия дважды. После завершения действия кнопка снова включается. Все работает отлично ... кроме:
Поскольку кнопка отключена, она не вызывает событие MouseLeave и, как следствие, внешний вид кнопки не обновляется. Чтобы было абсолютно ясно, когда мышь входит в ToolStripButton, кнопка подсвечивается оранжевым (по умолчанию) с черным квадратом вокруг нее. Это выделение не удаляется при повторном включении кнопки. К этому времени курсор мыши уже давно исчез из элемента управления. Наведение мыши на кнопку естественным образом исправляет кнопку, перерисовывая ее.
То, что я хотел бы сделать, - это какой-нибудь метод ToolStripButton, который «сбрасывает» его внешний вид. Такой метод может даже существовать в ToolStrip, но, несмотря на поиск, я не смог найти ничего подобного.
В качестве альтернативы я мог бы напрямую вызвать событие «Mouse Leave» на кнопке. Насколько я знаю, нет никакого способа легко сделать это в C # .NET.
Любой совет на данный момент будет наиболее ценным, естественно, я не хочу разрывать свое приложение и заменять полоску инструмента.