C# 在键入键后,操作keypress方法
我正在对文本框的按键事件执行一个方法,但该方法是在键实际输入框之前运行的 如果我使用KeyUp,我会得到我想要的行为,除了软键和标准字符上的KeyUp触发器,这对我来说不是特别有用C# 在键入键后,操作keypress方法,c#,textbox,keypress,C#,Textbox,Keypress,我正在对文本框的按键事件执行一个方法,但该方法是在键实际输入框之前运行的 如果我使用KeyUp,我会得到我想要的行为,除了软键和标准字符上的KeyUp触发器,这对我来说不是特别有用 我可以让按键在输入框后运行吗?或者我可以很容易地让KeyUp忽略软键吗?嗯,您可以在KeyPress事件中记住keychar,并使用记住的char在KeyUp中执行所有必要的逻辑。在KeyPress事件中,您可以将textbox.Text和e.keychar连接到一个新字符串中并处理这个新字符串 private vo
我可以让按键在输入框后运行吗?或者我可以很容易地让KeyUp忽略软键吗?嗯,您可以在KeyPress事件中记住keychar,并使用记住的char在KeyUp中执行所有必要的逻辑。在KeyPress事件中,您可以将
textbox.Text
和e.keychar
连接到一个新字符串中并处理这个新字符串
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
string newString = textBox1.Text + e.KeyChar.ToString();
// Process newString
// If after processing you do not wish to undo the typed letter do
// e.Handled = true;
}
您也可以从
textbox
控件中尝试TextChanged
事件。将keyUp与as-code一起使用:
private void textBox1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
//only do things when an alphabetical character is typed
if ((e.KeyCode >= Keys.a) && (e.KeyCode <= key.z) ||
(e.KeyCode >= Keys.A) && (e.KeyCode <= key.Z))
{
// do your thing
}
}
private void textBox1\u KeyUp(对象发送方,System.Windows.Forms.KeyEventArgs e)
{
//仅在键入字母字符时执行操作
如果((e.KeyCode>=Keys.a)&&(e.KeyCode=Keys.a)&&当KeyUp被触发时,文本框已经包含了被压缩的字符。我想我可以在KEKPress中连接文本框字符串和Kichar,这样代码就可以处理正确的值。这是可能的,但是你觉得更难:光标可以在文本中间(你需要插入字符)。可以在文本框中选择(char替换选择),你必须正确地处理控制字符(标签,回退等)。也许你可以更新你的问题,告诉我们你想要达到的最终结果?嗯,如果在文本框中间的光标键按下时会怎样?