win32 messagebox 取消 确定_酝酿已久,MessageBox类实例代码讲解

本文介绍了如何在Win32环境下,通过编程响应MessageBox消息对话框上的取消和确定按钮。通过示例代码展示了利用DialogResult进行判断,实现不同操作,例如用户点击确定退出程序,点击取消则进行重新输入等交互逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一期介绍了MessageBox类的用法,那么如何对弹出的消息对话框上的按钮进行响应呢?今天我们来介绍程序代码如何根据单击按钮来产生响应操作。

在响应操作时,每个按钮都有自己的返回值,程序当中可以使用if/else语句进行判断,下面通过一个实例来进行学习。

首先,在以前创建好的窗体界面上再添加几个必要的控件,一个label控件,两个radiobutton控件和一个button控件:

12ae32309d7cd29f7ba7d09a5b4b2917.png

双击确定按钮,进入到程序代码编辑窗口,写入下面这段程序代码:

0805b867595463a663da57bfaa7ad501.png

首先来看位于前面的这段程序代码:

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:

17033303979880a57cd805e606c8c7be.png

而这个DialogResult.OK值是用户在消息对话框弹出后,用户点击确定按钮后的返回值,这里面我们还自定义了一个函数来实现不同返回值相应的操作:

7044c5a4a4fae57d7be9b9cc1d0b44bd.png

这个函数有一个参数,而这个参数就是从上面confirm和result传递过来的,当用户点击确定后则退出程序,否则进入到用户名和密码的重新输入状态。

此时来运行程序,并输入正确的用户及密码后,点击确定按钮后,然后看到下面的界面:

10251aedef8b6da00449993b41615945.png

这时点击确定后,程序直接退出。

如果我们输入了不符合条件的用户名会发生什么:

d754b3e67c6f74057d934ea3f241c6c9.png

点击是按钮后,则用户名清空,光标移动到用户框内:

066816b4a4d0e5c482b04bdba7cabdc7.png

如果密码不符合规则,则提示密码重新输入:

2b11d8062cdf291405d3c68f03b09924.png

此时点击取消按钮后,密码清空光标移动到密码框内:

0031c886f0f0f46a948d3e274a4353cc.png

如果用户与密码都符合要求,则又弹出第一个界面,点击确定后退出程序。

许多伟大的真理开始的时候都被认为是亵渎行为。——萧伯纳

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值