none
Форма загрузки, которая блокирует приложение( не модальная) RRS feed

  • Вопрос

  • Здравствуйте. У меня есть  MDI-приложение

    нужно чтобы при некоторых действиях, которые занимают длительное время, выводилась форма загрузки, которая блокирует приложение, в которой есть progress bar. По сути это модальная форма. Но я хочу чтобы мои функции вызывались не из этой формы, соответственно поэтому модальность не подходит. Саму форму я хочу передавать в качестве параметра нужным процедурам и соответственно отражать процесс через progress bar.

    Возможно ли такое?  Либо придется все формы MDI приложения перебирать и их блокировать через свойство Enabled?

    30 апреля 2015 г. 11:45

Ответы

  • Решение оказалось простейшим)

    нужно главную форму MDI приложения передать форме и при запуске формы mdimainform.Enabled=false;

    После всех необходимых действий сделать Mdimainform.Enabled=true; this.Close();

    • Помечено в качестве ответа DenisShvatskiy 3 мая 2015 г. 12:48

Все ответы

  • Возможно советую бред, но вдруг в этом что-то есть...

    Интересная задача, но у нее много подводных камней, если форма не модальная, то у нее свойство поверх всех и при переключении на другое приложение она оказывается все равно сверху плюс обращение к формам может привести к не предсказуемым последствиям. Может оставить ее модальной, но вызывать видимые методы из других форм, так можно будет оставить форму модальной, а управляющий код перенести в другую форму.

    30 апреля 2015 г. 16:49
  • Решение оказалось простейшим)

    нужно главную форму MDI приложения передать форме и при запуске формы mdimainform.Enabled=false;

    После всех необходимых действий сделать Mdimainform.Enabled=true; this.Close();

    • Помечено в качестве ответа DenisShvatskiy 3 мая 2015 г. 12:48