当TextBox's的文本发生变化时触发事件处理程序
本文关键字:变化 程序 事件处理 文本 TextBox | 更新日期: 2023-09-27 18:08:11
我正在构建一个格式非常不同的消息,它将在每次创建或更新一个人的帐户信息时发送。我正在从多个选项卡的表单中的许多文本框中生成消息。
计划是在每次打开帐户时将帐户中的所有当前信息加载到新消息中,然后更改已更改的任何文本框的值。
为每个文本框单独执行此操作很容易,但很耗时。
这个可行吗?
person_last_name.TextChanged += new EventHandler(AllTextBoxes_TextChanged);
person_first_name.TextChanged += new EventHandler(AllTextBoxes_TextChanged);
private void AllTextBoxes_TextChanged(object sender, EventArgs e)
如果是,你如何使用sender对象参数来检测哪个TextBox触发了消息?
如果您的Xmal
代码如下:
<TextBox Name="person_last_name" TextChanged="AllTextBoxes_TextChanged"></TextBox>
<TextBox Name="person_first_name" TextChanged="AllTextBoxes_TextChanged"></TextBox>
你可以像这样检测触发的文本框:
private void AllTextBoxes_TextChanged(object sender, TextChangedEventArgs e)
{
string triggered = (e as TextBox).Name;
if (triggered == "yourtarget")
{
//Do some thing with selected
//(e as TextBox).
}
}
是,这应该可以工作
如果你想对所有的文本框
做一些不同的事情,你可以使用switch语句private void AllTextBoxes_TextChanged(object sender, TextChangedEventArgs e)
{
string triggered = (e as TextBox).Name;
switch (triggered)
{
case "name1":
//somecode
case "name2":
//somecode
//etc
}
}