dialogresult和result有啥区别?一文解读别再搞混!

吉云

今儿个咱来聊聊DialogResult这个东西,一开始接触这玩意儿,我也是一头雾水,不知道咋用,后来经过一番折腾,总算是摸清点门道,今天就来跟大家分享一下我的实践过程。

啥是DialogResult?

我看到这名字,"对话框结果"?这是后来查查,才知道,这东西就是用来表示你点对话框上的哪个按钮的。比如说,你弹出一个对话框,问用户“确定要删除吗?”,然后有两个按钮,“确定”和“取消”。用户点“确定”,那DialogResult就是OK,点“取消”,DialogResult就是Cancel。

dialogresult和result有啥区别?一文解读别再搞混!

咋用DialogResult?

这玩意儿一般是用在弹出对话框的时候。我一开始是在做一个小工具,需要弹出一个对话框让用户确认一些操作。当时我就想,我咋知道用户点哪个按钮?

于是我就去查资料,发现可以用DialogResult。我记得我当时是这么写的:

先是创建一个对话框,然后给对话框加几个按钮,"确认"、"取消"啥的。

我当时还琢磨着,怎么让按钮和DialogResult对应上。然后我发现,原来在按钮的属性里面,可以直接设置DialogResult!我把“确定”按钮的DialogResult设置成OK,“取消”按钮的DialogResult设置成Cancel

然后,在显示对话框的地方,我用ShowDialog()这个方法。这个方法会返回一个DialogResult类型的值,这个值就是用户点击的那个按钮对应的DialogResult

dialogresult和result有啥区别?一文解读别再搞混!

我当时还写个if语句来判断:

  • 如果用户点击“确定”按钮(),就执行一些操作。
  • 如果用户点击“取消”按钮(),就啥也不干,或者给出一些提示。

这样一来,我就能根据用户的选择,执行不同的操作!当时我可高兴,觉得这玩意儿真好用!

dialogresult和result有啥区别?一文解读别再搞混!

一些小坑

实践过程中也遇到一些小坑。比如,我发现,如果我在按钮的Click事件里手动设置窗体的DialogResult属性,窗体会自动关闭!当时我还纳闷,咋回事,我这还没处理完逻辑,咋就关?后来才知道,原来设置DialogResult属性会自动触发Close事件。

还有就是,我一开始以为DialogResult只能用在对话框上,后来发现,只要是窗体,都可以用!不一定非得是MessageBox弹出来的。

DialogResult这玩意儿,用起来还是挺方便的,能帮助我们获取用户在对话框上的选择,从而执行不同的操作。希望我今天的分享能对大家有所帮助!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]