gpt4 book ai didi

winforms - 如何根据条件停止DialogResult的执行?

转载 作者:行者123 更新时间:2023-12-03 05:18:22 26 4
gpt4 key购买 nike

我在 Windows 窗体上遇到以下情况的问题:

我创建了一个带有两个按钮的表单,每个按钮都分别分配了 DialogResult OK 和 DialogResult Cancel 行为。但基于某些条件,我需要停止执行“确定”按钮。问题是,如果我只是这样返回:

private void btnOk_Click(object sender, EventArgs e)
{
foreach(Control control in tblTable.Controls)
{
if (control.GetType() == typeof(TextBox))
{
if (control.Text.Trim() == "")
{
control.Focus(); return;
}
}
else
{

}
}
}

对话框结果不断向父表单返回 OK 答案。

我需要停止事件的执行,并且在用户更正表单上的信息之前不返回任何答案。换句话说,用户应该返回表单以更正任何丢失或错误的数据。

最佳答案

正如 Hans Passant 在评论中提到的,只需将 DialogResult 设置为 None!
像这样:

private void btnOk_Click(object sender, EventArgs e)
{
if(ValidationFailed())
{
this.DialogResult = DialogResult.None;
return;
}
//...
}

关于winforms - 如何根据条件停止DialogResult的执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3451163/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com