我有这样的消息框:
action(plan, event) {
event.stopPropagation();
// do your other action business
}
现在我想添加其他情况为“是”和“取消”,因为是 if (MessageBox.Show("Message", "System message", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.No)
{
}
,所以我尝试:
MessageBoxButtons.YesNoCancel
但是VisualStudio标记为红色并抛出:
无法将类型'System.Windows.Forms.DialogResult'隐式转换为 '布尔'
如何在验证中添加“是”和“取消”案例?
答案 0 :(得分:3)
您需要将结果存储在@Pipe({ name: 'pairs' })
export class PairsPipe implements PipeTransform {
transform(value: any) {
return value.filter((v, i) => i % 2 == 0).map((v, i) => [value[i * 2], value[i * 2 + 1]])
}
}
类型的变量中:
DialogResult
像这样写起来会更好:
var dialogResult = MessageBox.Show("Message", "System message", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dialogResult == DialogResult.No)
{
}
else if (dialogResult == DialogResult.Yes)
{
return;
}
else if (dialogResult == DialogResult.Cancel)
{
return;
}
答案 1 :(得分:1)
问题是您应该将MessageBox.Show()
的结果存储到变量中,然后使用if
或switch
将结果与DialogResult
枚举中的一个值进行比较。
DialogResult result = MessageBox.Show("Message", "System message", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (result == DialogResult.Yes) {
// do something for yes
}
else if (result == DialogResult.Cancel)
{
// do something for cancel
}
else
{
// this will be no
}