Благодаря Матеусу Пратте (по какой-то причине) YouTube видео я узнал, что мне нужно индивидуально установить свойство ButtonBase.FlatStyle = FlatStyle.System
для каждого из моих элементов управления кнопки, которые я не хочу нарушатьанимации.
Чтобы исправить все элементы управления в форме, вы можете выбрать их несколько раз в Visual Studio Forms Designer и использовать панель «Свойства».
В качестве альтернативы, вы можете использовать цикл, чтобы исправить всеконтролирует в форме процедурно.
InitializeComponent();
foreach (Control control in Controls)
{
if (control is ButtonBase buttonControl)
{
buttonControl.FlatStyle = FlatStyle.System;
}
}
Кажется очень смешным, что вам придется делать это только для разрыва анимации.Мое приложение простое и имеет одну форму, но если у вас много форм, вам нужен способ применить это исправление для всего приложения.Что если ваша структура наследования классов не позволяет вам добавить это исправление в суперкласс, возможно потому, что ваши классы форм наследуются от множества неизменяемых (возможно, сторонних) суперклассов?Вы можете извлечь вспомогательный метод, но что делать, когда вы создаете новый класс формы и забываете вызывать вспомогательный метод?
Должен быть способ выбрать FlatStyle.System
в качестве параметра для всего приложения, и он может быть даже включен по умолчанию, потому что каждая другая программа в ОС использует эти анимации на своих кнопках.