C#按键事件没有';t将文本框中的最后一个字符复制到表单';的文本属性
本文关键字:文本 最后一个 字符 属性 表单 复制 事件 | 更新日期: 2023-09-27 18:09:02
情况:表单有一个文本框,用户必须在其中键入一些文本。此文本框具有KeyPress事件,在该事件中,Form的文本属性将更改为用户每次击键时键入的文本。
这是文本框的KeyPress事件的代码:
private void tbGameTitle_KeyPress(object sender, KeyPressEventArgs e)
{
this.Text = textBox1.Text;
}
问题:用户键入的最后一个字符不会复制到表单的文本中。示例:
textBox1.Text = "The War of 1812"
Form2.Text = "The War of 181"
文本框1中"1812年战争"结尾的"2"。文本不会复制到Form2.Text.
如何将整个文本字符串从textBox1.text复制到Form2.text?
尝试使用TextChanged
事件而不是KeyPress
。使用后者还为时过早,因为Text
属性会在处理按键后更新。
这是因为KeyPress
在角色真正"进入"textBox1
之前被激发。如果你边打字边看,你会注意到Form2
永远是textBox1
后面的一个字符。您将需要使用TextChanged
事件,该事件在textBox1
中的文本每次更改后都会触发。