繁体   English   中英

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

[英]Add userControl2 to Panel2 from userControl1 button in Panel1

如何从userControl1的按钮单击中获取userControl2进入panel2?

按下New按钮显示Panel1上的userControl1控件,但是我想通过将userControl1按钮按下panel2 userControl2来显示usercontrol2 我做不到

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;
}

您正在使用new frmMain();创建新表单new frmMain(); 您需要获取当前表单的句柄。 您只需使用this关键字即可做到这this ,但这甚至是可选的,您无需使用任何内容。 但是,在用户控件中, this是指控件。 在这种情况下,请使用Parent属性。

更改第一行:

frmMain main = new frmMain();

至:

frmMain main = (frmMain)this.Parent;

另外,您可以使用FindForm()方法:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM