-4

用户更改文本时不会触发 TextChanged 事件。我认为生成的代码可能有错误。

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

2 回答 2

6

您不能只添加方法,您需要打开表单,选择文本框,在属性窗口中查看事件选项卡,然后为TextChanged事件设置处理程序。

于 2012-04-27T12:25:24.250 回答
3

简单说:通过使用属性/事件窗格并在那里创建您的事件,通过 Visual Studio 中的 GUI 编辑器自动连接它。

上面的代码是您的事件处理函数。活动分为几个部分

  1. 事件签名 - 如何调用它
  2. 处理函数 - 符合签名
  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);
于 2012-04-27T12:26:23.990 回答