[英]Detect if TextBox control's text has changed without the event handler
[英]Trigger Event Handler when any TextBox's text has changed
我正在構建一個格式非常不同的消息,每次創建或更新某個人的帳戶信息時都會發送該消息。 我正在從多個標簽的表單中的許多文本框中生成消息。
計划是在每次打開帳戶時將帳戶中的所有當前信息加載到新郵件中,然后更改已更改的任何文本框的值。
為每個文本框單獨執行此操作將非常簡單但耗時。
這會有用嗎?
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
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.