正在捕获MessageBox结果
本文关键字:MessageBox 结果 | 更新日期: 2023-09-27 18:29:07
我正试图让用户确认他们是否要使用MessageBox删除产品并获取其结果。这是我的代码:
// Confirm if the user really wants to delete the product
DialogResult result = MessageBox.Show("Do you really want to delete the product '"" + productName + "'"?", "Confirm product deletion", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.OK)
{
MessageBox.Show("deleted");
}
当我运行代码并尝试删除产品时,删除的永远不会显示。在MSDN页面上,它说使用MessageBoxResult
而不是DialogResult
,但Visual Studio不识别MessageBoxResult
,我在代码的其他地方使用DialogResult
来打开文件对话框。显然,这不是正确的检查方法。
您必须要求DialogResult.Yes
// Confirm if the user really wants to delete the product
DialogResult result = MessageBox.Show("Do you really want to delete the product '"" + productName + "'"?", "Confirm product deletion", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
MessageBox.Show("deleted");
}
您将消息框类型设置为yes/no,但您正在尝试获取OK结果。抓住"是",你就会被分类。
您使用的是YesNo按钮,因此DialogResult.OK与此无关。你应该做
if (result == DialogResult.Yes)
针对您的情况。
只需请求正确的DialogResult即可。
if (result == DialogResult.Yes)
请记住,一个对话框可能会有不同类型的结果,您也可以编写自己的结果。因此:始终关注你所期望的结果和你所检查的结果。
问候,