2012-04-27 56 views
-4

當用戶更改文本時,TextChanged事件不會觸發。我認爲這可能是生成的代碼錯誤。當我更改文本框中的文本時,C#事件不會觸發

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     textBox2.Text = textBox1.Text; 
    } 
+1

什麼平臺? ASP.NET?的WinForms? Silverlight的?另外,你的問題是什麼? – jrummell 2012-04-27 12:22:08

+0

爲什麼downvotes?如果你倒退了,你真的應該留下一個解釋原因的評論。 – 2012-04-27 12:31:33

+0

@BobHorn downvotes可能是因爲這裏沒有問題。 – jrummell 2012-04-27 12:32:38

回答

6

你不能只是添加方法,你需要打開窗體中選擇文本框,查看屬性窗口事件選項卡,然後設置你的處理程序TextChanged事件。

+0

是的,那解決了這個問題。謝謝cjk – Hrfpkj 2012-04-27 12:28:06

3

簡單地說:通過使用屬性/事件窗格並在那裏創建事件,通過Visual Studio中的GUI編輯器自動連線。

上面的代碼是你的事件處理函數。事件在幾部分分

  1. 事件簽名 - 如何將其稱爲
  2. 處理函數(S) - 符合簽名
  3. 事件掛鉤
  4. 處理函數加入到鉤子
  5. 事件被解僱。

事件簽名

public delegate void TextChangedEventHandler(object sender, EventArgs e); 

處理函數(代碼)

private void textBox1_TextChanged(object sender, EventArgs e) { textBox2.Text = textBox1.Text; } 

需要符合上面的簽名

事件掛接 它說: 「我可以引發此事件」

public event TextChangedEventHandler TextChanged 

處理器新增的功能

TextChanged += new TextChangedEventHandler(textBox1_TextChanged); 
相關問題