2017-09-22 6 views
-1

3 개의 패널이있는 mainForm이 있습니다. Panel3은 내 사용자 정의 컨트롤을 표시하고자하는 곳입니다. 나는 (왼쪽 메뉴) 버튼이있는 경우 내 기본 폼에이 코드를 사용하고 위대한 작품 : 나는 사용자 정의 컨트롤 2의 버튼이있는 경우패널 컨트롤에 사용자 컨트롤이 표시됩니다.

panel3.Controls.Clear(); 
UserControl2 userControl2 = new UserControl2(); 
userControl2.Dock = DockStyle.Fill; 
panel3.Controls.Add(userControl2); 

내 문제는 내가 해당 버튼을 클릭합니다 Employee List라는 UC를 불러 오십시오. 패널 3을 찾을 수 없습니다. 그래서 제 질문은 어떻게 직원 목록을 기본 양식 패널 3에서 열 수 있습니까? 아니면 더 좋은 방법이 있습니까?

업데이트 : 나는 이것을했고 작동합니다.하지만 내 직원 목록 UC가 panel3에 열리는 다른 기본 폼을 만듭니다. 어떻게 열어서 다른 기본 폼을 만들지 못합니까?

mainForm mf = new mainForm(); 
mf.panel3.Controls.Clear(); 
employeeList empList = new employeeList(); 
empList.Dock = DockStyle.Fill; 
mf.panel3.Controls.Add(empList); 
mf.Show(); 
+0

위의 코드를 UserControl2 페이지의 버튼 클릭 이벤트에 넣으면 ... mainForm에있는 패널 3을 찾을 수 없습니다. 그래서 내 질문은 어떻게 그들을 함께 연결할 수 있습니까? – tstrathman

+0

아마도 생성자에 참조를 삽입해야합니다. – TaW

답변

0

이 코드가 그랬습니다!

mainForm f1 = (mainForm)Application.OpenForms["mainForm"];   
f1.panel3.Controls.Clear(); 
employeeList empList = new employeeList(); 
empList.Dock = DockStyle.Fill; 
f1.panel3.Controls.Add(empList); 
f1.Show(); 
관련 문제