gpt4 book ai didi

c# - 对象发送者作为验证当前文本框的参数

转载 作者:行者123 更新时间:2023-11-30 13:14:59 24 4
gpt4 key购买 nike

我想完成 Winforms 验证模式,例如检查文本框中的空字符串。因此,如果我有名为 txtBox1 的文本框和事件处理程序 txtBox1_Validated。我想知道是否可以使用 object sender 作为当前文本框属性的标识符?

例如,我有一个可行的解决方案,我将当前文本框的 Text 属性作为参数发送给 ValidateTextBox 方法,如下所示

private void txtBox1_Validated(object sender, EventArgs e)
{
bool isEmpty = ValidateTextBox(txtBox1.Text);
...
}

我想知道是否可以在上面的方法中使用对象发送器来替换txtBox1.Text参数?

谢谢

最佳答案

假设您已将 txtBox1_Validated 附加到适当的控件,绝对:

TextBox textBox = (TextBox) sender;
bool isEmpty = ValidateTextBox(textBox.Text);

当然,这意味着您可以为多个控件共享相同的方法。

编辑:由于其他两个答案(在撰写本文时)使用了 as 而不是强制转换,让我解释一下为什么我特意使用强制转换。

您将自己连接事件处理程序。您知道sender 必须是TextBox - 如果不是,则表明您的代码中存在错误。通过类型转换,您会发现该错误。使用 as,它会被悄悄地忽略——而且您很可能永远无法修复该错误。

关于c# - 对象发送者作为验证当前文本框的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17932719/

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