簡體   English   中英

任何TextBox的文本發生更改時觸發事件處理程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM