【发布时间】:2016-09-09 01:46:00
【问题描述】:
我正在尝试实现一个删除textbox 中的文本的按钮。但是,这里的问题是我将有多个 textbox 有多个 button 分别删除文本。我尝试了一种奇怪的方法,方法是使用 switch 案例来获取 button 名称来处理不同的 textbox,如下所示:
switch(btn.Name)
{
case "button1": textbox1.Clear();
break;
case "button2": textbox2.Clear();
break;
}
虽然这解决了问题,但我发现这在设计方面确实不可靠且不实用。所以我想问一下是否有更好的方法来做到这一点?谢谢!
【问题讨论】:
-
您可以保存所有控件名称,以便以后找到它们。看到这个帖子stackoverflow.com/questions/3898588/…
-
嗨 Stitch 博士,感谢您的回答,但我正在尝试寻找更好的设计,例如将按钮绑定到文本框的方法,这样我就不需要像这样切换案例。
-
控件有一个称为对象类型的标记的属性。您可以将每个 Button 的 Tag 属性设置为应该清除的 TextBox
-
你的逻辑是否总是 1:1 = 1
Button对应 1TextBox?Button是否需要清除不同的TextBox? -
如果它是一对一的,即 Button1 = textbox1 那么你可以使用控件集合: ((TextBox)Controls["textbox" + btn.Name.Replace("button", "") ]).Clear()