C#,winform,MDI窗体与其字窗体传值的问题. 帮个忙,谢谢.

Jeremiah 2007-12-27 04:53:40
问题描述如下:

容器窗体上面有一个按钮,使用ShowDialog方法弹出一个新窗体 form1

容器窗体里面有一个窗体form2.

现在有两个问题:
1. 怎么知道窗体form2有没有打开?

2. form1中有一些数据,当点form1上的确定按钮的时候,想传递给form2,应该如何去做?

不知道我这样描述,清不清楚.
还请熟悉winform 编程的朋友帮忙看看..
...全文
194 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jeremiah 2007-12-28
  • 打赏
  • 举报
回复
好了,问题解决了,现在说一下,如果以后有人遇到类似的问题,可以参考...

Form[] frmArray = this.MdiChildren;
//Create the AddTimeEntry entry and set value is null
//有一点要注意的是,如果想被其它窗体调用这个窗体的方法,要将这个控件的Modifiers设置为Public
AddTimeEntry addTimeEntry = null; //这个AddTimeEnty 窗体就是MDI中的窗体.

foreach (Form tmpFrm in frmArray)
{
if (tmpFrm.Name == "AddTimeEntry") //当这个窗体打开的时候,zhzhuo告诉我的方法.
{//if this window open ,then set the value for addTimeEntry.
addTimeEntry = tmpFrm; //将这个窗体给addTimeEntry,这样在后面就可以使用了.
break;
}
}
NickNames nickname; //这个就是MDI窗体直接弹出的对话框.
if (addTimeEntry != null)
{ //we use this method...
nickname = new NickNames(addTimeEntry);
}
else
{
nickname = new NickNames();
}
nickname.ShowDialog();


我就这点水平了,总结了一下,如果有高人看到这个贴子,还有更好的方法,请总结一下.
Jeremiah 2007-12-27
  • 打赏
  • 举报
回复
谢谢各位朋友的答案啊。。

明天上班的时候试一试。。。
zhzhuo 2007-12-27
  • 打赏
  • 举报
回复
1、在Mdi父窗体中:
Form[] frmarry = this.MdiChildren;
bool flag = false;
foreach (Form tmpfrm in frmarry)
{
if (tmpfrm.Name == FormName)
{
flag = true;
tmpfrm.BringToFront();
break;
}
}
判断flag就可以了;
2、将变量设为public static就可以在各个窗体中访问;或者用form2 f = new form2(10),然后增加一个form2的构造函数。
sunke5843323 2007-12-27
  • 打赏
  • 举报
回复
把form2里的属性设成静态的,在form1里调用。当然要根据情况。
Jeremiah 2007-12-27
  • 打赏
  • 举报
回复
谢谢LS的几位,两个窗体之间传值,没啥问题.偶能做到...

只是按照问题描述那样传值的话,不知道有没有可能?
wangdetian168 2007-12-27
  • 打赏
  • 举报
回复
只知道
往窗口传值的时候用
在form2里定义个属性在new 的时候先赋值
在showDirlog
或者用构造函数传递过去
form2 f = new form2()
f.size="10";
f.showfialog()
huo
form2 f = new form2(10)
wangdetian168 2007-12-27
  • 打赏
  • 举报
回复
只知道
往窗口传值的时候用
在form2里定义个属性在new 的时候先赋值
在showDirlog
或者用构造函数传递过去
form2 f = new form2()
f.size="10";
f.showfialog()
huo
form2 f = new form2(10)
wggygah5 2007-12-27
  • 打赏
  • 举报
回复
winform不太熟,可以用构造函数传值吧

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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