2017-09-22 4 views
-1

3つのパネルを持つメインフォームがあります。 Panel3は私が自分のユーザコントロールを表示したい場所です。私はこのコードを使用し、それは素晴らしい作品(左メニューの)ボタンがあれば、私のメインフォーム上:パネルコントロールでのユーザーコントロールの表示

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

を私はそのユーザーコントロール2のボタンを持っていると私はボタンがにクリックすることを望むとき、私の問題があります従業員リストと呼ばれる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(); 
関連する問題