【问题标题】:(TextBox)sender vs textBox1(文本框)发件人与文本框1
【发布时间】:2021-08-31 09:52:04
【问题描述】:

假设我有一个事件处理程序来验证在我的TextBox 控件中输入的文本。

  • 我应该转换sender 参数吗?
((TextBox)sender).Text
  • 还是直接访问控件?
textBox1.text

【问题讨论】:

  • 如果您没有多个文本框都使用相同的事件处理程序代码,我会说直接访问它。
  • 我是这么想的,但以后可能不会这样了。如果控件的名称在方法的名称中,也许我可以直接访问它,即TextBox1_Validating
  • 基本上是基于意见的,但这可能取决于您是否希望发件人是 textbox1 并且始终是它,或者,例如,您是否将事件处理程序分配给多个控件,因此您需要转换发件人.另外谨慎使用后一种方式来检查类型以及不为空。在直接调用方法或任何其他东西时传递 null 作为发送者来控制处理程序的行为是完全合法的。
  • 我同意,直接访问也更具可读性

标签: c# .net winforms


【解决方案1】:

我总是直接访问控件

if(textbox1.text==string.Empty)
{//doSomething;}

【讨论】:

  • 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多