【急】关于MDI中子窗口返回值的问题 MDI不能使用ShowDialog,而只能用Show,而Show()的时候主窗口继续执行,不会停止,问题在于 if (Form1.DialogResult == DialogResult.OK)在Show()之后立即执行,还没有得到DialogResult的值呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看来你的软件设计有问题.mdi窗体为啥要showdialog. 1L没有理解我的问题我当然没有用showdialog但是用show以后主窗口会继续执行下去例如/////主窗口Form1.show();if(Form1.DialogResult == DialogResult.OK){MessageBox.Show("!"); }/////子窗口.....this.DialogResult =DialogResult .OK;this.Dispose();======================================在子窗口还没出现的时候就已经弹框,这说明子窗口根本什么操作都没有做的时候主窗口就继续执行if了 1L没有理解我的问题我当然没有用showdialog但是用show以后主窗口会继续执行下去例如/////主窗口Form1.show();if(Form1.DialogResult == DialogResult.OK){MessageBox.Show("!"); }/////子窗口.....this.DialogResult =DialogResult .OK;this.Dispose();======================================在子窗口还没出现的时候就已经弹框,这说明子窗口根本什么操作都没有做的时候主窗口就继续执行if了 Form1.show()的时候,主窗口当然会继续执行下去了看看模式窗口和非模式窗口的定义就知道了非模式窗口要获得返回值,好像比较困难 In the form2, you could register the FormClosed event of form1, and then get the result in the event handler of form2. 非模态对话框,想实现等子窗体关闭后执行代码,可以用委托来实现,看看下面的例子C#利用事件完成两个窗体的传值http://topic.csdn.net/u/20080626/17/1742fccb-1513-4543-9f9f-045660d24666.html 我的MDI程序的子窗体怎么可以用showdialog?if(Form1.Showdialog() == DialogResult.OK){MessageBox.Show("!"); } 你的不行?你把form1的MdiContian不设置看看呢? 你是否在主窗口设置了Form1.MdiParent = this呢? 不用委托也可以,再给你个例子看看这个帖子2楼的回答http://topic.csdn.net/u/20081128/21/1ca1b74a-4be0-4173-8b95-b99692b33041.html windows mobile 下二维码解析 网上考来的代码,DTU发来数据只能收到一次数据,而从局域网发数据正常。帮忙给看看。 急,急,急,从数据库中获得某个table最后一次更新时间? 获取文件的数字签名 一分钟刷一次,完成马上结贴 使用WebService让两个winform应用程序通讯 C#编写的socket客户端程序,为什么在保存文件的时候程序就好像死循环了 Drawing在System”中不存在 如何 读写 文件 指定字节位置 的内容? 取2小时之间的数据 C#源程序是否可以移植到JBuilder中? 获取主板信息得问题,希望高人指点!! 为什么我删不掉数据库中的一行记录呢
/////主窗口
Form1.show();
if(Form1.DialogResult == DialogResult.OK)
{MessageBox.Show("!"); }
/////子窗口
.....
this.DialogResult =DialogResult .OK;
this.Dispose();
======================================
在子窗口还没出现的时候就已经弹框,这说明子窗口根本什么操作都没有做的时候主窗口就继续执行if了
/////主窗口
Form1.show();
if(Form1.DialogResult == DialogResult.OK)
{MessageBox.Show("!"); }
/////子窗口
.....
this.DialogResult =DialogResult .OK;
this.Dispose();
======================================
在子窗口还没出现的时候就已经弹框,这说明子窗口根本什么操作都没有做的时候主窗口就继续执行if了
看看模式窗口和非模式窗口的定义就知道了
非模式窗口要获得返回值,好像比较困难
http://topic.csdn.net/u/20080626/17/1742fccb-1513-4543-9f9f-045660d24666.html
{MessageBox.Show("!"); }
你的不行?
你把form1的MdiContian不设置看看呢?
不用委托也可以,再给你个例子看看这个帖子2楼的回答
http://topic.csdn.net/u/20081128/21/1ca1b74a-4be0-4173-8b95-b99692b33041.html