私はここの仲間と同様のことを達成しようとしていますが、そこに答えを出すと、大したことではありませんが、ユーザーのPOVから見れば醜いバグが少し残ります:
キープレスデータをテキストボックスに入れるときに、ユーザーが文字の前に修飾キーを押すと(1つのように)、修飾キーのキー名を含むテキストボックスが入力されます。つまり、「CTRL + SHIFT + ShiftKey」のような結果が得られます。最後のキーコードを抑制するために私がやろうとすることはすべて、実際のキーも抑制してしまいます。
これは、私が求めている抑制なしの私の基本的な試みです(ブロック性を許してください。
String pressed ="";
e.SuppressKeyPress = true;
if ((e.Modifiers & Keys.Control) > 0)
{
pressed += "CTRL + ";
}
if ((e.Modifiers & Keys.Alt) > 0)
{
pressed += "ALT + ";
}
if ((e.Modifiers & Keys.Shift) > 0)
{
pressed += "SHIFT + ";
}
pressed += e.KeyCode;
txtCopyKey.Text = pressed;
うまくいけば、私が求めていることについてここで十分に明確です。