私のプログラムでは、キーボードで "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を出力します。 – Jed5931
*何が* Fが正確に出力されますか?どのイベントを処理していますか?あなたは 'key 'をどのように割り当てますか? [最小、完全、かつ、検証可能な例](http://stackoverflow.com/help/mcve) –