黑马程序员技术交流社区
标题:
DialogResult
[打印本页]
作者:
qsq0000hm
时间:
2014-7-13 23:06
标题:
DialogResult
本帖最后由 qsq0000hm 于 2014-7-16 21:32 编辑
看杨老师的WPF视频,有一个练习是这样的,新建一个窗口Mywindow,定义3个button, content分别是,确定,取消和重试。
主窗口定义一个按钮,点击弹出新窗口Mywindow,点击新窗口上的三个按钮,关闭新窗口,并且弹出一个对话框messagebox.show("你点了哪个按钮");
主窗口button的click事件中的代码:
Mywindow Mwd = new Mywindow();
Mwd.ShowDialog();
if (Mwd.DialogResult == true)
{
MessageBox.Show("你点了确定按钮");
}
else if (Mwd.DialogResult == false)
{
MessageBox.Show("你点了取消按钮");
}
else if(Mwd.DialogResult == null)
{
MessageBox.Show("你点了重试按钮");
}
新窗口中点击三个按钮代码:
private void btnOK_Click(object sender, RoutedEventArgs e)
{
DialogResult = true; //只要对 DialogResult进行 赋值,则窗口关闭,针对使用shouDialog()方法打开的窗口。
}
private void btnCancel_Click(object sender, RoutedEventArgs e)
{
DialogResult = false;
}
private void btnLaster_Click(object sender, RoutedEventArgs e)
{
DialogResult = null;
}
只有dialogresult=null,不能判断重试按钮。是不能dialogresult=null,还是Mwd.DialogResult == null这个条件不能这么写?
还是其他什么原因?
作者:
qsq0000hm
时间:
2014-7-13 23:20
定义一个枚举类型 这个是可以的。只是视频里要求写两种方法来做。
作者:
绿箭
时间:
2014-7-14 08:41
我懂了,每一个窗口实例都有一个DialogResult枚举,你在弹出的窗口里是可以给DialogResult直接赋值,因为弹出窗口自生的实例含有DialogResult枚举,而在主窗口要获得子窗口的DialogResult枚举,就要用子窗口的实例对象调用才行,所以才用MDI.DialogResult
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2