问题描述
.net中窗体类有一个这样的方法Form.Show(IWin32Window)在From1的cs文件中实例化Form2,myForm2.Show(this)就可以弹出非模态的窗体,而且form2是Form1的子窗体.但是如果我在另外一个cs文件中调用myForm2.Show(myForm1)方法,传进去的参数是Form1的实例,这样的没有达到上面的效果.IWin32Window类型怎么通过一个窗体的实体得到?怎么在第三个cs文件中,有两个窗体对象也可以弹出一个对话框,是另一个的子窗体的效果?谢谢!!!!
解决方案
解决方案二:
没有看明白楼主想说什么
解决方案三:
不太了解,帮你顶!
解决方案四:
每个Form类都实现了IWin32Window接口!只要你传递的是Form对象实例,都是可以的。另外,你说的子(父)窗口,不太正确,应该是拥有者(owner)。具有父窗口的窗口被限制在父窗口的客户区内,但是被拥有的窗口可以被画在桌面上的任何位置。
解决方案五:
看得不是很明白
解决方案六:
帮忙顶吧
解决方案七:
不大明白LZ的意思。
解决方案八:
不知道楼主实现这个功能是用来做什么的,提供一个参考方案吧在第3个cs文件里实例化主窗体和子窗体,在主窗体实例化的时候把子窗体作为一个属性传进去,然后在窗体的shown函数里调用子窗体的show方法。子窗体是作为主窗体的一个引用存在
解决方案九:
没看懂说什么啊。能说得详细点吗
解决方案十:
privatevoidfrm_CustomerStop_Load(objectsender,EventArgse){InitCustomer();SetUse(true);}privatevoidtxt_CusCode_KeyDown(objectsender,KeyEventArgse){if(e.KeyCode==Keys.Enter){this.btn_Search_Click(sender,e);}}
解决方案十一:
没看明白什么意思,希望LZ说的详细点
解决方案十二:
不知所云。。。。
解决方案十三:
引用11楼的回复:
不知所云。。。。
路过学习而已
解决方案十四:
只要你的参数传递的没错,也就是确实是想作为拥有者的窗体的实例,那就应该没有问题,除非参数已经以另外一个窗体的实例了
解决方案十五:
你的意思是这样吗:在另外的.cs文件中时这样做:Form2frm2=newForm2();Form1frm1=newForm1();frm1.show(this);frm2.show(frm1);这样,frm1就是this所指代的(另外的.cs)的子窗体而frm2就是frm1的子窗体。