本帖最后由 张伟86 于 2013-5-5 15:22 编辑
请参看msdn中ShowDialog的说明:打开一个窗口,并且仅在新打开的窗口关闭后才返回。
当在警告窗口执行这句“DialogResult = null;”时,警告窗口并没有销毁,于是mainwindow中的bool? result一直没有接收到返回值。
而实践证明,就是在第三个“取消”按钮的“DialogResult = null;”语句之后手动加入“this.Close()”,DialogResult也会被修改为false;也就是说,bool? result只能被返回true or false,不能是null;虽然它的初始值是null(因为bool?被初始化为null);
PS:好吧,我就不谈我没有VS2010了,还没有.net 4了。 |