2013-03-28 2 views
1

Я работаю над MDI-приложением, у которого есть детские формы. Я должен показать окно «Дети», как только будут выполнены определенные условия.Как установить свойство MDIParent формы Child в классе nonMDI?

Я создал отдельный класс с именем clsDashbord, имеющей методу loadDashboard(), который предполагается загрузить frmDashboard уже разработано. Код приведен ниже:

public void loadDashboard(String userName) 
     { 
      _Dashboard = new frmDashboard(); 
      _Main = new frmMDI(); 
      // _Dashboard.MdiParent = _Main; 
      _Dashboard.Text = userName; 
      _Dashboard.Show(); 

     } 

форма не отображается, если я изложу MdiParent в Main, который является экземпляром переменной MDI формы в противном случае она будет отображаться. Как это сделать?

+0

Установили ли вы 'ismdicontainer' истину на форма mainmdi? –

+0

@ImmortalBlue да есть. Он показывает другие формы. – Volatil3

+0

_Main = new frmMDI(); _Dashboard.MdiParent = _Main; ** Выполняя это, он не показывает форму, иначе это делает ** – Volatil3

ответ

2

Это больше похоже на проблему с определением области обзора, если посмотреть на строку '_Main = new frmMDI();'

выполните следующие действия:

  1. создать класс с именем 'ReferenceTable'
  2. создать статическую переменную с именем _Главная в ReferenceTable
  3. набор ReferenceTable._Main = новый frmMain(); // в Program.cs
  4. набор childform.Parent = ReferenceTable._Main // во все вашей форме ребенка код перед вызовом Show() или ShowDialog() методы