上一期介绍了MessageBox类的用法,那么如何对弹出的消息对话框上的按钮进行响应呢?今天我们来介绍程序代码如何根据单击按钮来产生响应操作。
在响应操作时,每个按钮都有自己的返回值,程序当中可以使用if/else语句进行判断,下面通过一个实例来进行学习。
首先,在以前创建好的窗体界面上再添加几个必要的控件,一个label控件,两个radiobutton控件和一个button控件:
![b1e599710f39a2f16060570d789a48d3.png](https://i-blog.csdnimg.cn/blog_migrate/87981934383580dbf09cea4aee34eab3.jpeg)
双击确定按钮,进入到程序代码编辑窗口,写入下面这段程序代码:
![912aad6e384fc82b9eb41ac2f9b3f4e4.png](https://i-blog.csdnimg.cn/blog_migrate/9c32ea831fdc4a9652326676591b77c7.jpeg)
首先来看位于前面的这段程序代码:
string message = "输入字符少于3个,请重新输入";//消息框弹出的消息
string account = "输入用户";//定义用户字符串
string password = "输入密码";//定义密码字符串
MessageBoxButtons btn1 = MessageBoxButtons.YesNo;//定义消息框弹出的消息按钮
MessageBoxButtons btn2 = MessageBoxButtons.OKCancel;//定义消息框弹出的消息按钮
MessageBoxIcon icon1 = MessageBoxIcon.Information;//定义消息框弹出的消息图标
MessageBoxIcon icon2 = MessageBoxIcon.Warning;//定义消息框弹出的消息图标
DialogResult result, confirm;//定义用户响应后的返回值
这段代码完全是定义数据类型并赋予初值的过程,这里面用到了string、MessageBoxButtons、MessageBoxIcon和DialogResult不同对象类型,值得一提的是DialogResult定义了两个变量,它们分别是result和confirm,这两个变量是用户与消息对话框交互后的结果返回值,在下面这段代码处设置断点后,能够看出cofirm的值为DialogResult.OK:
![8f896676ba1370ef82c1e4e8a4a70bea.png](https://i-blog.csdnimg.cn/blog_migrate/829b5401d76e93c584f8dba5f5778862.jpeg)
而这个DialogResult.OK值是用户在消息对话框弹出后,用户点击确定按钮后的返回值,这里面我们还自定义了一个函数来实现不同返回值相应的操作:
![15116545480a1ace37546102af2ee5dd.png](https://i-blog.csdnimg.cn/blog_migrate/72c4b819a0518c51c01c4ff8c8f24c40.jpeg)
这个函数有一个参数,而这个参数就是从上面confirm和result传递过来的,当用户点击确定后则退出程序,否则进入到用户名和密码的重新输入状态。
此时来运行程序,并输入正确的用户及密码后,点击确定按钮后,然后看到下面的界面:
![846e050d5ef88ceaac0e815a2db1819d.png](https://i-blog.csdnimg.cn/blog_migrate/437e9aabe350f5163e7384d4eb11aa31.jpeg)
这时点击确定后,程序直接退出。
如果我们输入了不符合条件的用户名会发生什么:
![0ad1395a4b7d2a8184ed6cb3911ab815.png](https://i-blog.csdnimg.cn/blog_migrate/8a54ac7d7f22f621d329caa318d8ec66.jpeg)
点击是按钮后,则用户名清空,光标移动到用户框内:
![112f08541887a33ea671c61094ee916d.png](https://i-blog.csdnimg.cn/blog_migrate/a9eb91b570b7ed9351fd59d6b05f3d98.jpeg)
如果密码不符合规则,则提示密码重新输入:
![c4ee6113bf7ca1a15b881c6ecebeaed3.png](https://i-blog.csdnimg.cn/blog_migrate/0f1b7ffebf73316f094c2f08ca834516.jpeg)
此时点击取消按钮后,密码清空光标移动到密码框内:
![865c5cc535566d4c440f083eeac5c3fa.png](https://i-blog.csdnimg.cn/blog_migrate/afaf237321f340e4814468317ebd08e1.jpeg)
如果用户与密码都符合要求,则又弹出第一个界面,点击确定后退出程序。
许多伟大的真理开始的时候都被认为是亵渎行为。——萧伯纳