gpt4 book ai didi

c# - 按下按钮后如何设置 DialogResult?

转载 作者:行者123 更新时间:2023-12-05 04:00:34 34 4
gpt4 key购买 nike

我正在使用 Windows 窗体设计器创建密码窗口,只是上下文略有不同。有几个输入字段,其中之一受密码保护。有一个“更改”按钮可以在主窗口顶部生成一个新的密码窗口。用户输入密码尝试并按“确定”。我需要一种方法让 OK 按钮检查密码,然后将 DialogResult.OK 发送回主窗口,或者如果尝试不正确则显示“不正确的密码”。这意味着我一开始无法将 DialogResult 设置为 DialogResult.OK,所以我不确定该怎么做。

目前我在点击事件函数中将 DialogResult 设置为 DialogResult.OK,但显然这是为下一次点击设置的,而不是当前点击,所以用户必须按 OK 按钮两次。

private void buttonOK_Click(object sender, EventArgs e)
{
string passwordAttempt = textBoxPassword.Text;
if( passwordAttempt.CompareTo("pass") == 0 )
{
this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
}
}

一种可能的解决方案是通过代码触发第二个事件(不确定如何执行此操作)。或者,有没有更好的方法来处理我在这种情况下没有想到的密码窗口?

最佳答案

  1. 将对话框的 AcceptButton 设置为 buttonOK(确定按钮)。您可以在代码或设计器中执行此操作。
  2. 设置对话框窗体的DialogResult,而不是按钮。

代码:

this.AcceptButton = buttonOK;

...

private void buttonOK_Click(object sender, EventArgs e)
{
string passwordAttempt = textBoxPassword.Text;
if (passwordAttempt.CompareTo("pass") == 0)
{
this.DialogResult = System.Windows.Forms.DialogResult.OK;
Close();
}
}

关于c# - 按下按钮后如何设置 DialogResult?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56117226/

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