今儿个咱来聊聊DialogResult这个东西,一开始接触这玩意儿,我也是一头雾水,不知道咋用,后来经过一番折腾,总算是摸清点门道,今天就来跟大家分享一下我的实践过程。
啥是DialogResult?
我看到这名字,"对话框结果"?这是后来查查,才知道,这东西就是用来表示你点对话框上的哪个按钮的。比如说,你弹出一个对话框,问用户“确定要删除吗?”,然后有两个按钮,“确定”和“取消”。用户点“确定”,那DialogResult就是OK,点“取消”,DialogResult就是Cancel。
咋用DialogResult?
这玩意儿一般是用在弹出对话框的时候。我一开始是在做一个小工具,需要弹出一个对话框让用户确认一些操作。当时我就想,我咋知道用户点哪个按钮?
于是我就去查资料,发现可以用DialogResult
。我记得我当时是这么写的:
先是创建一个对话框,然后给对话框加几个按钮,"确认"、"取消"啥的。
我当时还琢磨着,怎么让按钮和DialogResult
对应上。然后我发现,原来在按钮的属性里面,可以直接设置DialogResult
!我把“确定”按钮的DialogResult
设置成OK
,“取消”按钮的DialogResult
设置成Cancel
。
然后,在显示对话框的地方,我用ShowDialog()
这个方法。这个方法会返回一个DialogResult
类型的值,这个值就是用户点击的那个按钮对应的DialogResult
。
我当时还写个if
语句来判断:
- 如果用户点击“确定”按钮(),就执行一些操作。
- 如果用户点击“取消”按钮(),就啥也不干,或者给出一些提示。
这样一来,我就能根据用户的选择,执行不同的操作!当时我可高兴,觉得这玩意儿真好用!
一些小坑
实践过程中也遇到一些小坑。比如,我发现,如果我在按钮的Click
事件里手动设置窗体的DialogResult
属性,窗体会自动关闭!当时我还纳闷,咋回事,我这还没处理完逻辑,咋就关?后来才知道,原来设置DialogResult
属性会自动触发Close
事件。
还有就是,我一开始以为DialogResult
只能用在对话框上,后来发现,只要是窗体,都可以用!不一定非得是MessageBox
弹出来的。
DialogResult
这玩意儿,用起来还是挺方便的,能帮助我们获取用户在对话框上的选择,从而执行不同的操作。希望我今天的分享能对大家有所帮助!