0

C# WinForms: これが英語以外の言語でも使用されるソフトウェアである場合、このようなコードを書く必要がありますか?それとも問題ありませんか? それを書くためのより良い.NETの方法はありますか?

if (eventArgs.KeyChar == (char)22)

EDIT BY RB : Synchronous Idlechar(22)ですが、"Ctrl+V" または "Paste" として知られています。彼は、WinForms で「貼り付け」を検出する方法を尋ねています。

4

2 に答える 2

2

あなたの質問がコードの可読性に関するものであれば、もっときれいに書くことができます。22はどの文字?わからないし、調べるしかない。これを行う必要はないため、コードが読みやすくなります。次の方法でこれをリファクタリングできます

  • 必要な文字を簡単に使用します。eventArgs.KeyChar == 'e'
  • 次のような列挙型を使用します。eventArgs.KeyChar == Keys.E
于 2012-10-19T14:18:15.860 に答える
1

Keys列挙ではSYNキーが定義されていないため、これは機能するはずです。

しかし、おそらくどこかで宣言する必要があります

public static readonly char SynChar = (char)22;
于 2012-10-19T14:22:02.807 に答える