我的视图有70个左右的文本框。我正在使用一个对象来存储所有输入,所以我可以传递我的程序输入。我现在拥有的是一个保存按钮,按下此按钮时,每个文本框都会将其文本发送到保存所有输入的对象。
我想更改此实现,让文本框在光标离开文本框后将其文本发送到对象。我只是不想为每个文本框编写一个事件处理程序。
This网站介绍了如何将多个文本框分配给一个事件处理程序。如果每个事件都需要做同样的事情,这是有效的。他们是一种将多个文本框分配给一个事件句柄但是每个文本弓将其内容上传到另一个字符串的方法吗?
我什么都想不到,所以如果你有任何想法,我会问你们所有人。
谢谢,
dhoehna
答案 0 :(得分:3)
拥有Dictionary< TextBox, string >
甚至Dictionary< object, string >
并使用sender
对象作为获取要分配的字符串的键。
答案 1 :(得分:2)
您可以使用字典轻松完成:
textBox1.LostFocus += new EventHandler( textBox_LostFocus );
Dictionary<object, string> _contents = new Dictionary<object, string>( );
void textBox_LostFocus( object sender, EventArgs e ) {
_contents[ sender ] = ( sender as TextBox ).Text;
}
并将值作为列表获取(如果需要):
_contents.Select( kvp => kvp.Value ).ToList( );