当用户更改文本时,TextChanged 事件不会触发。我认为这可能是生成的代码的错误。
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox2.Text = textBox1.Text;
}
不能只添加方法,需要打开窗体,选择"文本框",在属性窗口中查看"事件"选项卡,然后设置TextChanged
事件的处理程序。
简单说:通过使用属性/事件窗格并在那里创建事件,通过Visual Studio中的GUI编辑器自动连接它。
上面的代码是事件处理程序函数。事件分为几个部分
- 事件签名 - 如何调用
- 处理程序函数 - 符合签名
- 事件挂钩
- 添加到钩子的处理程序函数
- 事件已触发。
事件签名
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);