社区
C#
帖子详情
三个form设置父子窗口的问题
trim8
2007-05-11 11:35:00
现有窗口:form1、form2、form3
想要在form2的Load()事件中将form3设置为from1的子窗口
请教会的老师。
form2_Load()
{
form2.IsMdiContainer = true;
Form3 wnd = new Form3();
wnd.MdiParent = ???
wnd.Show();
}
...全文
247
3
打赏
收藏
三个form设置父子窗口的问题
现有窗口:form1、form2、form3 想要在form2的Load()事件中将form3设置为from1的子窗口 请教会的老师。 form2_Load() { form2.IsMdiContainer = true; Form3 wnd = new Form3(); wnd.MdiParent = ??? wnd.Show(); }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LeoMaya
2007-05-11
打赏
举报
回复
上面的方法是在Form1里面完成Form2的初始化, 如果楼主不想这样, 可以就要用到静态变量了, 又或者用Singleton Pattern
e.g.
public partial class Form1: Form
{
private static volatile Form1 _instance;
private static object syncRoot=new object();
public Form1()
{
//to initialize Form1 here...
}
public static Form1 Instance
{
get
{
if(_instance == null)
{
lock(syncRoot)
{
if(_instanc == null)
{
_instance = new Form1();
}
}
}
return _instance;
}
}
}
//Then, in your Form2, you can...
form2_Load()
{
form2.IsMdiContainer = true;
Form3 wnd = new Form3();
wnd.MdiParent = Form1.Instance;//=========>See?
wnd.Show();
}
LeoMaya
2007-05-11
打赏
举报
回复
//form2 constructor
public Form2(Form1 instance)
{
//other code here...
_instance=instance;
}
private Form1 _instance;
form2_Load()
{
form2.IsMdiContainer = true;
Form3 wnd = new Form3();
wnd.MdiParent = _instance;
wnd.Show();
}
//Form1 somewhere, to initailize a form2
private void InitializeForm2()
{
Form2 frm2=new Form2(this);
frm2.Show();
}
trim8
2007-05-11
打赏
举报
回复
分数很少,你却能细致回答!
非常感谢 LeoMaya(postreetboy) ,我的问题已经解决!
谢谢!
易语言源码易语言超级表格自动完成源码
易语言源码易语言超级表格自动完成源码
【Python + 半导体】设备日志自动解析与异常提取工具
本资源提供半导体设备日志自动解析与异常提取的完整解决方案,适用于设备维护、故障诊断、日志审计等场景。
C#
111,131
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章