Строго говоря, вам не нужно использовать элемент управления Panel, любой контейнерный элемент управления должен демонстрировать такое же поведение. Даже элемент управления PictureBox сделает свое дело!

следовал приложение Winforms, которое выполняет много длительных вызовов на сервер приложений из потока пользовательского интерфейса, поэтому пользовательский интерфейс остается неотзывчивым, непригодным для использования и не подлежащим закрытию в течение некоторого времени. (Что заставляет меня действительно идтиAAAAAAAAARGH!)

Я планирую переместить вызовы сервера в фоновый поток и отключить пользовательский интерфейс - но можно перемещать и закрывать - пока фоновый поток выполняет свою работу.

Итак, как лучше всего запретить ввод данных пользователем в мое приложение? Я размышляю в духе «модального диалога прогресса», но я бы предпочел решение, которое не заставляет меня бросать визуальные эффекты в лицо пользователю (некоторые серверные операции выполняются менее чем за 500 мс, поэтому диалогне оптимальный ...)

Есть ли какой-либо способ в Winforms, чтобы запретить пользователю запускать действия или изменять данные в приложении, пропуская несколько выбранных вещей (изменить размер, показать, скрыть и создать семью, а пользователь закрыть окно)? Я бы предпочел способ, при котором я не получал бы доступ к каждому элементу пользовательского интерфейса в моих формах и устанавливал его как отключенный ... их довольно много, и это приложение действительно "взломано" в конструкторе пользовательского интерфейса, пока оно не показывает кричащие вещи "стиль исходного кода. Нет способа рефакторинга КАЖДОЙ вонючей вещи до даты релиза ...

О, кстати, это приложение живет в .net Framework 2

Ответы на вопрос(6)

Ваш ответ на вопрос