C# 中,2个窗口,怎么设置父窗口和子窗口

C# 中,2个窗口,怎么设置父窗口和子窗口,第1张

这个简单!

是不是就是MDI(多文档界面)?

我是这样理解的,也就这样给你回答吧!

窗体有个属性,你找一下,把IsMdiContainer

这个属性改成true,

这个窗体就是你说的父窗体!

子窗体的话,就是在show()的时候有个属性,子窗体名.MdiParent

=this.

比如:

form1

f

=new

form1()

f.mdiparent=thisf.show()

(这里的form1

是你的子窗体!)

SetParent

声明方法:

Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

函数功能:该函数改变某个子窗口的父窗口。

函数原型:HWND SetParent(HWND hWndChild,HWND hWndNewParent);

参数:

hWndChild:子窗口句柄。

hWndNewParent:新的父窗口句柄。如果该参数是NULL,则桌面窗口就成为新的父窗口。在WindowsNT5.0中,如果参数为HWND_MESSAGE,则子窗口成为消息窗口。

返回值:如果函数成功,返回值为子窗口的原父窗口句柄;如果函数失败,返回值为NULL。若想获得多错误信息,请调用GetLastError函数。

备注:应用程序可以使用SetParent函数来设置d出式窗口,层叠窗口或子窗口的父窗口。新的窗口与窗口必须属于同一应用程序。

答案参考来自百度百科

子窗口肯定显示在父窗口上,无论模态非模态,除非你调起了另一个程序窗口,否则肯定子窗口在父窗口之上。 将Create的对话框的父窗口指定为桌面即可。 void CParentDlg::OnXXXX() { CChildDlg* pDlg = new CChildDlgpDlg->Create(CChildDlg::ID


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12193789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存