Каков наилучший способ запретить пользователю что-либо нажимать на форму при обработке в фоновом режиме?
Я работаю над Youtube Mp3 конвертер. Конвертирование MP3 занимает несколько секунд, и я хочу, чтобы пользователь не мог щелкнуть по любому элементу управления в форме. Я сделал это с помощью Control.Enabled = false
для всего контроля, но я думаю, что этот способ не является профессиональным и не кажется хорошим для визуальности. Есть ли хороший способ сделать это?
1 ответ
Как говорится в комментариях, вы можете иметь модальную форму:
yourModalForm.ShowDialog();
Которые не имеют кнопок заголовка или вообще не имеют заголовка и закрываются после завершения конвертации.
Или вы можете использовать Enabled
свойство, как вы сами предложили, но не для каждого элемента управления, вы можете сделать это для всей формы сразу:
this.Enabled = false;
Помни что this
ваша форма, если вы находитесь в правильном контексте.
Я также предлагаю вам изменить курсор формы следующим образом:
this.Cursor = Cursors.WaitCursor;
И когда ваша работа закончена, все, что вам нужно сделать, это:
this.Enabled = true;
this.Cursor = Cursors.Default;