c#中panel加载用户控件的方法

snaypa 2008-03-14 01:45:03
form1中有个panel,form2中有个button,还有一个UserControl,我想当点击button的时候是usercontrol加载到panel上面,方法是什么呢?
请大侠出手相助……
...全文
1128 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
snaypa 2008-03-14
  • 打赏
  • 举报
回复
我的本来想法是,本身存在form1,然后在form2点击按钮后form1才出现加载的用户控件,5楼的方法用了创建对象来产生,新的form,不过,也可以了。当时没自己考虑,就结贴了…
b哈利路亚d 2008-03-14
  • 打赏
  • 举报
回复
最好还是放上去,然后默认不显示。点击按钮的时候显示出来。
snaypa 2008-03-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yuanmanguo 的回复:]
将form1中有个panel设为public

public System.Windows.Forms.Panel panel1;


C# code
private void button2_Click(object sender, EventArgs e)
{
Form1 frm1 = new Form1();
frm1.panel1.Controls.Add(this.usercontrol);
frm1.Show();
}
[/Quote]
正解 谢谢
yuanmanguo 2008-03-14
  • 打赏
  • 举报
回复
将form1中有个panel设为public

public System.Windows.Forms.Panel panel1;


private void button2_Click(object sender, EventArgs e)
{
Form1 frm1 = new Form1();
frm1.panel1.Controls.Add(this.usercontrol);
frm1.Show();
}
snaypa 2008-03-14
  • 打赏
  • 举报
回复
不明白,form2的构造方法form2(Panel panel)是要传递参数的,而我要的是form1中的panel加载用户组件。
wwch369 2008-03-14
  • 打赏
  • 举报
回复

在form2的构造方法的做参数传
form2(Panel panel)
snaypa 2008-03-14
  • 打赏
  • 举报
回复
不能用this.panel,因为button在第二个form中,而要加载的panel在第一个form中,是2个不同的窗体。
有别的方法吧
h_w_king 2008-03-14
  • 打赏
  • 举报
回复
usercontrol usercontr=new usercontrol();
this.panel.controls.add(usercontr);
wwch369 2008-03-14
  • 打赏
  • 举报
回复 1
Panel中添加用户控件可以参考以下代码:

UserControl1 u1 = new UserControl1();
u1.Dock = DockStyle.Fill;
u1.Visible = true;
this.Panel1.Controls.Add(u1);//splitContainer1.Panel2.Controls.Add(...);

移除Panel中的控件可这样的:
this.Penel1.Controls.Remove(u1)//或使用RemoveAt

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧