Каков наилучший способ запретить пользователю что-либо нажимать на форму при обработке в фоновом режиме?

Я работаю над 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;
Другие вопросы по тегам