0

这是一个最佳实践问题。

假设我有一个类 A,里面有两个按钮 buttonOne 和 buttonTwo。另一个类 B 希望监听两个按钮的单击事件,但不需要保存对所述按钮的实际引用(或知道如何获取 A)。

区分 B 中事件处理程序内的两个按钮的最佳方法是什么?

private void button_Clicked(object sender, System.EventArgs e)
{
    Who is the sender? buttonOne? buttonTwo?
}

除了依赖按钮的名称/文本之外,还有其他方法吗?

4

1 回答 1

4

您的选择是:

  • 使用不同的事件处理程序。
  • 保留对按钮的引用。WeakReference如果有可能B比 UI 更长寿,您可能更喜欢s。
  • 创建一个Button通过某些属性或方法公开它们之间差异的子类。
  • 使用 的一些现有属性来区分按钮Button。用于此目的的首选属性应该是Tag,不是NameText
于 2013-07-20T21:28:18.783 回答