同样是一个窗体之间传值的问题

kinghongchen 2008-12-04 11:22:12
单击MainForm中的按钮时,打开一个MidForm子窗体,MidForm上面有很多label,每个label上面的文本都不一样,怎样实现当单击label时就把label上的值传到MainForm中?
...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nmfengyun 2008-12-04
  • 打赏
  • 举报
回复
这个问题主要涉及到ShowDialog()方法,有一可选参数owner.
具体应用解释可到http://blog.sina.com.cn/nmfengyun看看.
相信你会明白!
justindreams 2008-12-04
  • 打赏
  • 举报
回复
1:使用委托
2:把mdi父窗体要刷新的控件设成public
然后在子窗体中直接使用
(this.Parent as Mdi父窗口的类型).控件名.Text=要付的值

根本不用把父窗体传进去
shaofei830927 2008-12-04
  • 打赏
  • 举报
回复
子窗体中写一个带参数的构造函数private MainForm frm;
public MidForm(MainForm frm){ this.frm=frm; InitializeComponent();}
这样可以直接在MidForm中的事件上写 frm."MainForm中的空间名".Text=this.label1.Text;
lijunfeng 2008-12-04
  • 打赏
  • 举报
回复
delegate是一个方法,另外也可以在MidForm里保持MainForm的引用,单击MidForm里的label时直接传递给MainForm里的相应方法.
GTX280 2008-12-04
  • 打赏
  • 举报
回复
用delegate吧,MidForm类中定义一个delegate,在MainForm中给MidForm的这个delegate添加实现函数,
单击Label时把label的值作为参数传进去
kinghongchen 2008-12-04
  • 打赏
  • 举报
回复
谢谢各们同僚,我用了委托,问题解决了.

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧