我正在尝试让用户确认是否要使用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
来打开文件对话框。显然,这不是检查它的正确方法。
答案 0 :(得分:6)
您必须要求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");
}
答案 1 :(得分:1)
您将消息框类型设置为yes / no,但是您尝试捕获OK结果。抓住是,你将被分类。
答案 2 :(得分:0)
您正在使用YesNo按钮,因此DialogResult.OK与它无关。 你应该做
if (result == DialogResult.Yes)
为你的病情。
答案 3 :(得分:0)
请问正确的DialogResult。
if (result == DialogResult.Yes)
请记住,对话框可以有不同类型的结果,并且您还可以编写自己的结果。因此:请始终查看您期望的结果以及您正在检查的结果。
问候,