3

このメソッドがどのように機能するか理解できません。

System.Windows.Input.Keyboard.IsKeyDown(System.Windows.Input.Key)

オブジェクトブラウザは次のように言います。

public static bool IsKeyDown(System.Windows.Input.Key key)
System.Windows.Input.Keyboardのメンバー
概要:
指定されたキーが押されているかどうかを判別します。
パラメーター:
key:指定されたキー。
戻り値:
キーがダウン状態の場合はtrue。それ以外の場合はfalse。

さて、それはキーボードのメンバーですよね?次のコードを使用しました。Keyboardtest=new Keyboard();

しかし、testを入力してからドットを入力すると、IsKeyDownはオプションになりません。唯一のオプションは、Windows.Formsメンバーからのものです。ここで何が欠けていますか?ありがとう。

4

2 に答える 2

10

PresentationCore.dll参照としてアセンブリを追加します。

WindowsBase.dll参照としてアセンブリを追加します。

テストコード:

private void buttonMisc_Click(object sender, EventArgs e)
{
    if (System.Windows.Input.Keyboard.IsKeyDown(System.Windows.Input.Key.LeftShift) == true)
        MessageBox.Show("Got it!");
}
于 2012-10-20T01:47:34.547 に答える
4

IsKeyDownは静的であるため、次のように使用する必要があります

Keyboard.IsKeyDown()

インスタンス化されたオブジェクトではありません。

また、上部に正しいusingステートメントがあることを確認する必要があります。

using System.Windows.Input;

編集

さらに詳しく調べてみると、Keyboardは静的クラスです...したがって、Keyboard test = new Keyboard();

于 2012-10-20T01:47:53.713 に答える