当前位置:编程学习 > C#/ASP.NET >>

父子窗体问题

我在一个父窗体里建了一个Picture控件,然后通过双击这个控件的事件来弹出其他窗体。。。问题来了。我通过Picture控件双击后弹出来的窗体 如何定义成这个父窗体的子窗体。 --------------------编程问答-------------------- 方法一:
frmParent 中调用子窗体时用: frmChild.ShowDialog(this);

方法二:
frmChild.Owner=frmParent; //如果代码在frmParent中则用this代替frmParent; --------------------编程问答-------------------- 那怎样实现两个窗体之间,其中该数据的连接呢 --------------------编程问答-------------------- 是不是MDI的那种?
首先:把父窗体的属性IsMdiContainer设置为true,然后在Picture控件双击时间里写上
Form2 childrenForm = new Form2();
childrenForm.MdiParent = this;
childrenForm.Show(); --------------------编程问答-------------------- --------------------编程问答--------------------
引用 3 楼 fangshiyi168 的回复:
是不是MDI的那种?
首先:把父窗体的属性IsMdiContainer设置为true,然后在Picture控件双击时间里写上
Form2 childrenForm = new Form2();
childrenForm.MdiParent = this;
childrenForm.Show();

顶一下

winform中,窗体间值的传递我一般用静态变量 --------------------编程问答-------------------- ..... --------------------编程问答--------------------
引用 5 楼 dafei198607 的回复:
引用 3 楼 fangshiyi168 的回复:


winform中,窗体间值的传递我一般用静态变量

这是不规范的做法。

正确做法一:
通过子窗体构造函数传值

正确做法二:
通过增加子窗体公开属性传值 --------------------编程问答--------------------
引用 7 楼 pcqpzq 的回复:
引用 5 楼 dafei198607 的回复:
引用 3 楼 fangshiyi168 的回复:


winform中,窗体间值的传递我一般用静态变量

这是不规范的做法。

正确做法一:
通过子窗体构造函数传值

正确做法二:
通过增加子窗体公开属性传值



这俩是正解 --------------------编程问答--------------------
引用 1 楼 pcqpzq 的回复:
方法一:
frmParent 中调用子窗体时用: frmChild.ShowDialog(this);

方法二:
frmChild.Owner=frmParent; //如果代码在frmParent中则用this代替frmParent;


正解 --------------------编程问答-------------------- 如果传过去的参数 还需要传回来 或者 子窗体还需要传给父窗体参数的话  那么用 ref吧  方便 --------------------编程问答-------------------- 如果是引用类型,ref都不是必须的,因为传过去的只是引用地址,在子窗口对该地址的对象内容进行更改后能够反映到父窗口的变量对象中。如果是值类型需要返回的话,ref是必须的 --------------------编程问答-------------------- private void pictureBox2_DoubleClick(object sender, EventArgs e)
  {
Form2 frm2 = new Form2();  
  frm2.Show(this);  
  }
 Form1 frm1 = (Form1)this.Owner;  
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,