社区
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();
}
...全文
249
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) ,我的问题已经解决!
谢谢!
112.Qt中的
窗口
类
我们在通过Qt向导
窗口
基于
窗口
的应用程序的项目过程中倒数第二步让我们选择跟随项目创建的第一个
窗口
的基类, 下拉菜单中有
三个
选项, 分别为: QMainWindow、QDialog、QWidget如下图:常用的
窗口
类有3个在创建Qt
窗口
的时候, 需要让自己的
窗口
类继承上述
三个
窗口
类的其中一个。
在
设置
form
父
窗口
时,根据传入非托管句柄无法获取到
form
对象。
现有一个C#开发的com库,提供的接口有接受非托管句柄hwnd的参数,hwnd为com中显示对话框的父
窗口
句柄! 然而在
设置
form
父
窗口
时,根据传入句柄无法获取到
form
对象。代码如下
form
.Owner = (
Form
)
Form
.FromHandle(hwndOwner
c# 如何实现子
窗口
关闭父
窗口
也关闭
其实是
窗口
间通讯的
问题
,在
form
1上打开
form
2 ,
form
2 关闭时关闭
form
1实现方法:在子
窗口
form
2中声明事件: public delegate void childclose(); public event childclose closefather; 然后在它的关闭事件中触发本事件: private void
Form
2_Closed(obj
Delphi中
Form
2会跟随
Form
1最小化
问题
处理
发现
问题
: 自己想在
Form
2中
设置
透明窗体,然后利用SetWindowsPos函数对
Form
2进行置顶, 结果发现置顶失败。而在单窗体中是成功的。 然后取消所有代码避免干扰,新建了两个空窗体,然后在
form
1的按钮事件下面进行
form
2.show。 结果发现: 1、
form
2无法覆盖到
form
1窗体之上,也就是说当
form
2和
form
1的位置覆盖时,
form
2会被
form
1遮挡。 ...
iFrame
父子
窗口
1、对父
窗口
里
Form
元素的访问
在DHTML Javascript代码里,window.parent 是iframe页面调用父页面对象,可以直接引用。
比如,我们需要在b.htm中要对a.htm中的username文本框赋值,我们应该在b.html中写
<script type=”text/javascript”>
var _parentWin = window.parent ;
_parentWin.
form
1.username.value
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章