我正在构建一个格式非常不同的消息,每次创建或更新某个人的帐户信息时都会发送该消息。我正在从多个标签的表单中的许多文本框中生成消息。
计划是在每次打开帐户时将帐户中的所有当前信息加载到新邮件中,然后更改已更改的任何文本框的值。
为每个文本框单独执行此操作会很容易但很费时间。
这会有用吗?
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触发了该消息?
答案 0 :(得分:2)
如果您的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).
}
}
答案 1 :(得分:1)
是的,这应该有用
如果要为所有文本框执行不同的操作,可以使用switch语句
private void AllTextBoxes_TextChanged(object sender, TextChangedEventArgs e)
{
string triggered = (e as TextBox).Name;
switch (triggered)
{
case "name1":
//somecode
case "name2":
//somecode
//etc
}
}