Goran Bibic Ответов: 1

Показать открытую форму.ismdicontainer C#


Я использую форму с опцией:
IsMdiContainer = True
Нужно при нажатии на кнопку Показать дочернюю форму в контейнере
Если открыто, чтобы показать, что открыта дочерняя форма, если не открыто, чтобы открыть новую

Что я уже пробовал:

private void KnjigaIzlaznihFakturaToolStripMenuItem1_Click(object sender, EventArgs e)
       {
           _6102_KIF newMDIChild = new _6102_KIF
           {
               MdiParent = this
           };
           newMDIChild.Show();
       }

1 Ответов

Рейтинг:
12

Richard MacCutchan

Переменная newMDIChild является локальной переменной в обработчике событий. Поэтому, когда метод заканчивается, переменная выходит из области видимости и уничтожается. Вам нужно сделать его переменной заключающего класса, что-то вроде:

_6102_KIF newMDIChild = null; // declare at class level
private void KnjigaIzlaznihFakturaToolStripMenuItem1_Click(object sender, EventArgs e)
       {
           if (newMDIChild == null)
           {
               // only create the new child once
               newMDIChild = new _6102_KIF
               {
                   MdiParent = this
               };
           }
           newMDIChild.Show();
       }