2

情况:表单有一个文本框,用户必须在其中输入一些文本。此文本框有一个 KeyPress 事件,其中 Form 的 text 属性更改为用户在每次击键时键入的文本。

这是文本框的 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"

textBox1.Text 中“1812 年战争”结尾处的“2”不会被复制到 Form2.Text。

如何让整个文本字符串从 textBox1.Text 复制到 Form2.Text?

4

2 回答 2

5

尝试使用TextChanged事件而不是KeyPress. 使用后者时您还为时过早,因为在Text处理按键后属性会更新。

于 2013-04-14T21:17:40.880 回答
2

那是因为KeyPress在角色实际“进入”之前被解雇textBox1。如果你边看边打字,你会注意到Form2后面总是有一个字符textBox1。您将希望改用该TextChanged事件,该事件每次更改textBox1.

于 2013-04-14T21:21:10.813 回答