2012-04-27 57 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); 
相关问题