C# winform中窗口父子关系
C#winform中MainFormmainform在相应按钮事件时调用另外一个窗口Childform调用函数是这样的:ChildFormchild=newChildFo...
C# winform中
MainForm mainform在相应按钮事件时
调用另外一个窗口Childform
调用函数是这样的:ChildForm child=new ChildForm();
child.ShowDialog();
然后想在childForm这个窗体相应一个按钮后 向mainform传值、因此需要调用
MainForm form=this.Owner();
这样this.owner()应该是获取父窗口的引用,但是为什么在调试时 会出现得到的引用时空呢,在主窗口MainForm调用时,没有确定这两个窗口的父子关系吗?需要怎么确定呢?谢谢~急 展开
MainForm mainform在相应按钮事件时
调用另外一个窗口Childform
调用函数是这样的:ChildForm child=new ChildForm();
child.ShowDialog();
然后想在childForm这个窗体相应一个按钮后 向mainform传值、因此需要调用
MainForm form=this.Owner();
这样this.owner()应该是获取父窗口的引用,但是为什么在调试时 会出现得到的引用时空呢,在主窗口MainForm调用时,没有确定这两个窗口的父子关系吗?需要怎么确定呢?谢谢~急 展开
展开全部
设置Form的Owner指的是当前窗口会作为设置窗口的子窗口,他的行为和记事本的查找替换窗口类似,不会模态的阻挡访问主窗口,并且主窗口的状态会影响子窗口,(最小化时子窗口也最小化等)
这个要显示设置你才能获取
窗体没有显式的父子关系,除非是Mdi窗体,如果是Mdi子窗体可以从MdiParent获取Mdi父窗体
一般这种对话框形式的Form设计都不直接返回值到主窗体,而是暴露一个属性,让主窗体或者任何程序可以随时访问,不知道你用过OpenFileDialog或者ColorDialog没,他们只是暴露了FileName和Color这种属性,他并不显式的访问主窗体,这样可以降低依赖性,你也可以尝试一下
这个要显示设置你才能获取
窗体没有显式的父子关系,除非是Mdi窗体,如果是Mdi子窗体可以从MdiParent获取Mdi父窗体
一般这种对话框形式的Form设计都不直接返回值到主窗体,而是暴露一个属性,让主窗体或者任何程序可以随时访问,不知道你用过OpenFileDialog或者ColorDialog没,他们只是暴露了FileName和Color这种属性,他并不显式的访问主窗体,这样可以降低依赖性,你也可以尝试一下
展开全部
在新建ChildForm 时候,指定其父窗口
ChildForm child=new ChildForm();
child.Parent=this;
child.ShowDialog();
然后在子窗体中利用利用强制转换就可以了。
MianForm form = (MianForm)this.Parent;
该form 就是你想要的MainForm 的原始实例了。
ChildForm child=new ChildForm();
child.Parent=this;
child.ShowDialog();
然后在子窗体中利用利用强制转换就可以了。
MianForm form = (MianForm)this.Parent;
该form 就是你想要的MainForm 的原始实例了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Form1 frm1 = (Form1)this.Owner;
this.textBox2.Text = frm1.TextBox1Text;
这样改哈
this.textBox2.Text = frm1.TextBox1Text;
这样改哈
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ChildForm child=new ChildForm()
改成
ChildForm child=new ChildForm(this)
应该就行了
改成
ChildForm child=new ChildForm(this)
应该就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询