C # WinForms - не удается получить доступ к главной форме, когда открыта дочерняя форма - PullRequest
0 голосов
/ 04 июня 2010

Сценарий

У меня есть приложение C # WinForms с основной формой. У меня также есть кнопка в этой основной форме, которая при нажатии создает и отображает новую форму.

Проблема ....

... Я не могу ничего щелкнуть на главной форме, когда открыта новая форма.

Вопрос

Как мне это решить? Можно ли использовать обе формы одновременно?

Код для запуска новой формы

    private void barBtnStatsMonitor_ItemClick(object sender,   DevExpress.XtraBars.ItemClickEventArgs e)
    {
        //XtraMessageBox.Show("This Feature Has Not Been Fully Implemented Yet!");

        using (StatsMonitorForm frm = new StatsMonitorForm())
        {
            if (frm.ShowDialog() == DialogResult.OK)
            {

            }
        }
    }

Ответы [ 4 ]

5 голосов
/ 04 июня 2010

ShowDialog() открывает модальное диалоговое окно.

Show() открывает немодальное.

3 голосов
/ 04 июня 2010

Попробуйте frm. Показать вместо ShowDialog. ShowDialog открывает новую форму как модальное диалоговое окно, поэтому вы не можете получить доступ к базовой форме, пока не закроете ее.

0 голосов
/ 04 июня 2010

ShowDialog () отображает форму в режиме MODAL, что означает, что вы должны закрыть новую открытую форму.

    private void barBtnStatsMonitor_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) 
    { 
        //XtraMessageBox.Show("This Feature Has Not Been Fully Implemented Yet!"); 

        using (StatsMonitorForm frm = new StatsMonitorForm()) 
        { 
            frm.Show();
            //do some work here to get the dialog result some other way..
        } 
    } 
0 голосов
/ 04 июня 2010

при закрытии основной формы это похоже на закрытие приложения ...

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

или создайте глобальную переменную (возможно, bool), чтобы при открытии дочерней формы было установлено значение true ... поэтому при нажатии кнопки закрытия на главной форме ... она проверяет эту переменную, если она истинна он предлагает сохранить .. иначе он просто закрывается ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...