Я работаю над конвертером Mp3 Youtube. Преобразование Mp3 занимает несколько секунд, и я хочу, чтобы пользователь не смог щелкнуть какой-либо элемент управления в форме. Я сделал это, используя Control.Enabled = false
для всех элементов управления, но я думаю, что этот способ не является профессиональным и не кажется хорошим для визуализации. Есть ли хороший способ сделать это?Каков наилучший способ предотвратить щелчок пользователя на форме во время обработки на фоне?
0
A
ответ
4
В комментарии говорит, что вы можете иметь модальную форму:
yourModalForm.ShowDialog();
, которые не имеют строки заголовка кнопки или нет строки заголовка на все и закроют после преобразования.
Или вы можете использовать Enabled
собственность как сами предложили, но не для каждого элемента управления, вы можете сделать это для всей формы сразу:
this.Enabled = false;
Помните, что this
ваша форма, если вы находитесь в правильном контексте ,
Я также предлагаю вам изменить форму курсора, как это:
this.Cursor = Cursors.WaitCursor;
И когда ваша работа закончена все, что вам нужно сделать, это:
this.Enabled = true;
this.Cursor = Cursors.Default;
Пожалуйста, объясните это: «и Безразлично 't кажется хорошим для визуальности ". Control.Enabled = false делает именно то, что вы хотите, т. Е. Отключает взаимодействие пользователя. – lenkan
отключите всю форму, покажите индикатор прогресса в режиме выделения, измените курсор на Занято. возьмите свой выбор, его приложение – Plutonix
... или покажите форму модального диалога. – LarsTech