【发布时间】:2016-04-10 18:36:49
【问题描述】:
在我的程序中,我希望能够在键盘上输入“E”并将其作为不同的字母输出到文本框中,例如“F”。
在发送密钥时不会发生冲突的最有效方法是什么?
private void textBox_KeyDown(object sender, KeyEventArgs e)
{
switch(e.KeyCode)
{
case Keys.E:
e.SuppressKeyPress = true;
SendKeys.Send("F".ToLowerInvariant());
break;
case Keys.F:
e.SuppressKeyPress = true;
SendKeys.Send("E".ToLowerInvariant());
break;
}
}
我尝试使用上面的方法,但最终发生冲突,并最终发送了不同的信。
【问题讨论】:
-
为什么不直接
key = 'T'? -
@MathiasR.Jessen 它目前正在这样工作,但有没有办法实际输出设置的字母?我认为ascii会解决这个问题。如果我输入 F,它会将其记录为 T,但仍会输出 F。
-
什么输出
F?您正在处理哪个事件?你如何分配key?请提供a Minimal, Complete, and Verifiable example -
@MathiasR.Jessen 我编辑了帖子并尝试了不同的方法,但没有运气!
标签: c# ascii keymapping