从Panel1中的userControl1按钮将userControl2添加到Panel2

时间:2018-04-02 00:52:33

标签: c# .net winforms user-controls

如何从userControl1按钮点击userControl2进入panel2?

按下按钮New会在userControl1上显示Panel1控件,但我想通过按usercontrol2按钮userControl1来显示panel2 userControl2 {1}}。我无法做到。

private void btnNewDay_Click(object sender, EventArgs e) {
  frmMain main = new frmMain();
  main.panel2.Controls.Clear();
  userControls.ucNewDay newDay = new userControls.ucNewDay();
  main.panel2.Controls.Add(newDay);
  main.userControlcontrol = true;
}

1 个答案:

答案 0 :(得分:0)

您正在使用new frmMain();创建新表单。你需要的是得到当前形式的句柄。您只需使用this关键字就可以做到这一点,但这甚至是可选的,您不必使用任何内容。但是,在用户控件中,this表示控件。在这种情况下,请使用Parent属性。

更改第一行:

frmMain main = new frmMain();

为:

frmMain main = (frmMain)this.Parent;

或者,您可以使用FindForm()方法:

frmMain main = (frmMain)this.FindForm();