我想问一下,当我使用事件keydown计算文本的长度时,它不匹配.但当我按下回车键或退回键时,它就变成了9.有没有办法让它从而开始计数1而不是0.
我使用的代码
private void textEdit1_KeyDown(object sender, KeyEventArgs e)
{
if (this.textEdit1.Text.Length == 10)
{
textEdit2.Text = textEdit1.Text;
this.textEdit1.Text = "";
}
label2.Text = textEdit1.Text.Length.ToString();
label1.Text = textEdit2.Text.Length.ToString();
}
Run Code Online (Sandbox Code Playgroud)
private void textEdit1_KeyUp(object sender, KeyEventArgs e)
{
if (this.textEdit1.Text.Length == 10)
{
textEdit2.Text = textEdit1.Text;
this.textEdit1.Text = "";
}
label2.Text = textEdit1.Text.Length.ToString();
label1.Text = textEdit2.Text.Length.ToString();
}
Run Code Online (Sandbox Code Playgroud)
因为Key_Down将在按下键时以及在释放键之前执行.
另一方面,Key_Up将在您在键盘上释放键后执行,因此键入的字符将出现在文本框中,您将获得所需的结果.
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |