我很难弄清楚如何搜索/表达我想要完成的事情。我正在寻找是否有更安全/更智能的方法来实现以下示例。
假设我有 3 个带有名称的按钮:
btnOne
btnTwo
btnThree
每个按钮的目的是在单击时将唯一的字符串写入某个文本框。由于所有三个按钮都执行非常相似的操作,因此为所有三个按钮创建一个事件处理程序似乎是合乎逻辑的,但是区分三个按钮以便正确的文本框可以获得正确的字符串的聪明方法是什么?我不喜欢目前的处理方式:
伪,伪代码:
private void Clicked(object sender, EventArgs e)
{
string buttonName = (sender as Button).Name;
switch(buttonName)
{
case "btnOne":
tbOne.Text = "This text is from button one";
break;
case "btnTwo":
tbTwo.Text = "This is some different text";
break;
case "btnThree":
tbThree.Text = "Button three text";
break;
}
}
另一种方法是为每个按钮设置一个单击事件处理程序,然后该处理程序具有一个通用方法,例如:
private void AfterButtonClicked(Textbox tb, string text)
{
tb.Text = text;
}