데브피아에 글을 올렸었는데 답변이 안와서 물어볼 곳이 없어서 여기다 질문 드립니다. <div><br></div> <div><p style="color:#333333;font-family:'돋움';">버튼 클릭시 자식폼간 이동하는 곳에서 계속해서 에러가 나는데요 </p> <p style="color:#333333;font-family:'돋움';">부모폼은 버튼만을 가지고 있고 자식폼들은 그 버튼들을 공유합니다.</p> <p style="color:#333333;font-family:'돋움';"><br></p> <p style="color:#333333;font-family:'돋움';">소스코드)</p> <div style="color:#333333;font-family:'돋움';"> public Base()</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> InitializeComponent();</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> Form1 main;</div> <div style="color:#333333;font-family:'돋움';"> CutLine cutLine;</div> <div style="color:#333333;font-family:'돋움';"> DataTable dataTable;</div> <div style="color:#333333;font-family:'돋움';"> Manual manual;</div> <div style="color:#333333;font-family:'돋움';"> Setting setting;</div> <div style="color:#333333;font-family:'돋움';"> LogData logData;</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> private void Base_Load(object sender, EventArgs e)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> #region 버튼 이벤트</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> private void btnLogin_Click(object sender, EventArgs e)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> if (defineValue.loginState == defineValue.LOGIN_OFF)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> Login loginChildForm = new Login();</div> <div style="color:#333333;font-family:'돋움';"> loginChildForm.ShowDialog();</div> <div style="color:#333333;font-family:'돋움';"> this.btnLogin.Text = "로그아웃";</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> else</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> DialogResult dr = MessageBox.Show("정말 로그아웃 하시겠습니까?", "로그인", MessageBoxButtons.OKCancel);</div> <div style="color:#333333;font-family:'돋움';"> if (dr == DialogResult.OK)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> this.btnLogin.Text = "로그인";</div> <div style="color:#333333;font-family:'돋움';"> defineValue.loginState = defineValue.LOGIN_OFF;</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> private void btnMain_Click(object sender, EventArgs e)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> if (main == null)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> main = new Form1();</div> <div style="color:#333333;font-family:'돋움';"> main.MdiParent = this;</div> <div style="color:#333333;font-family:'돋움';"> main.Dock = DockStyle.Fill;</div> <div style="color:#333333;font-family:'돋움';"> main.Show();</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> else</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> foreach (Form form in Application.OpenForms)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> if (form.GetType() == typeof(Form1))</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> form.Activate();</div> <div style="color:#333333;font-family:'돋움';"> form.BringToFront();</div> <div style="color:#333333;font-family:'돋움';"> break;</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> private void btnResultTable_Click(object sender, EventArgs e)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> if (dataTable == null)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> dataTable = new DataTable();</div> <div style="color:#333333;font-family:'돋움';"> dataTable.MdiParent = this;</div> <div style="color:#333333;font-family:'돋움';"> dataTable.Dock = DockStyle.Fill;</div> <div style="color:#333333;font-family:'돋움';"> dataTable.Show();</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> else</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> foreach (Form form in Application.OpenForms)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> if (form.GetType() == typeof(DataTable))</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> form.Activate();</div> <div style="color:#333333;font-family:'돋움';"> form.BringToFront();</div> <div style="color:#333333;font-family:'돋움';"> break;</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> private void btnLogTable_Click(object sender, EventArgs e)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> if (logData == null)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> logData = new LogData();</div> <div style="color:#333333;font-family:'돋움';"> logData.MdiParent = this;</div> <div style="color:#333333;font-family:'돋움';"> logData.Dock = DockStyle.Fill;</div> <div style="color:#333333;font-family:'돋움';"> logData.Show();</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> else</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> foreach (Form form in Application.OpenForms)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> if (form.GetType() == typeof(LogData))</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> form.Activate();</div> <div style="color:#333333;font-family:'돋움';"> form.BringToFront();</div> <div style="color:#333333;font-family:'돋움';"> break;</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> private void btnRecipe_Click(object sender, EventArgs e)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> if (cutLine == null)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> cutLine = new CutLine();</div> <div style="color:#333333;font-family:'돋움';"> cutLine.MdiParent = this;</div> <div style="color:#333333;font-family:'돋움';"> cutLine.Dock = DockStyle.Fill;</div> <div style="color:#333333;font-family:'돋움';"> cutLine.Show();</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> else</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> foreach (Form form in Application.OpenForms)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> if (form.GetType() == typeof(CutLine))</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> form.Activate();</div> <div style="color:#333333;font-family:'돋움';"> form.BringToFront();</div> <div style="color:#333333;font-family:'돋움';"> break;</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> private void btnManual_Click(object sender, EventArgs e)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> if (manual == null)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> manual = new Manual();</div> <div style="color:#333333;font-family:'돋움';"> manual.MdiParent = this;</div> <div style="color:#333333;font-family:'돋움';"> manual.Dock = DockStyle.Fill;</div> <div style="color:#333333;font-family:'돋움';"> manual.Show();</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> else</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> foreach (Form form in Application.OpenForms)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> if (form.GetType() == typeof(Manual))</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> form.Activate();</div> <div style="color:#333333;font-family:'돋움';"> form.BringToFront();</div> <div style="color:#333333;font-family:'돋움';"> break;</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> private void btnSetting_Click(object sender, EventArgs e)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> if (setting == null)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> setting = new Setting();</div> <div style="color:#333333;font-family:'돋움';"> setting.MdiParent = this;</div> <div style="color:#333333;font-family:'돋움';"> setting.Dock = DockStyle.Fill;</div> <div style="color:#333333;font-family:'돋움';"> setting.Show();</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> else</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> foreach (Form form in Application.OpenForms)</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> if (form.GetType() == typeof(Setting))</div> <div style="color:#333333;font-family:'돋움';"> {</div> <div style="color:#333333;font-family:'돋움';"> form.Activate();</div> <div style="color:#333333;font-family:'돋움';"> form.BringToFront();</div> <div style="color:#333333;font-family:'돋움';"> break;</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <div style="color:#333333;font-family:'돋움';"> }</div> <div style="color:#333333;font-family:'돋움';"> </div> <p style="color:#333333;font-family:'돋움';">소스코드는 이렇습니다. 그런데 저는 처음화면 실행시 메인 화면이 나오게 하고 싶어서</p> <p style="color:#333333;font-family:'돋움';">base_Load 함수에다 btnMain_Click(sender,e); 이렇게 썼습니다.</p> <p style="color:#333333;font-family:'돋움';">그런데 다른 메뉴 버튼을 클릭하면</p> <p style="color:#333333;font-family:'돋움';">"이 폼의 MdiParent로 지정한 폼이 MdiContainer가 아닙니다." 이러한 오류가 뜨더라고요</p> <p style="color:#333333;font-family:'돋움';">속성에서 부모폼을 제외한 자식폼들은 isMDIcontainer = false 로 했습니다.</p> <p style="color:#333333;font-family:'돋움';">Base_load에 아무것도 안쓰고 실행시키니 베이스의 회색화면이 나오고 버튼을 눌러야 제대로 작동되더라구요. </p> <p style="color:#333333;font-family:'돋움';">어떻게 해결하면 좋을지 고수님들의 답변 부탁드립니다.</p></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.