28661


お世話になります。

表題から、かなり幼稚な質問だと思われてしまうと思いますが、お許しください。

C#(VCSExpress2015)を使用して、簡単なSTGを作ろうとしています。  
要は、一番初めのキー操作でつまづいています。

但し、まったくできないわけではありません。  
既存では、フォームにKeyDownとKeyUpのイベント実装させ、押したときと離したときの  
操作をさせており、ここまででは問題なく作成できています。

問題は、このやり方ではなく、メインループの中でキー情報を取得したいのです。  
自分でもサイトで調べましたが、GetKeyStateでできるということなので、  
色々試しているのですが、コンパイルすら通らずにいます。

まず、System.Windows.Inputを参照し、続いてPresentationCode.dllを  
追加しました。その後、メインループの中で、  
KeyStates kState = Keyboard.GetKeyStates(Key.Up);  
という記述までできました。  
その後、『IsKeyDown』というメソッドがあるらしいのですが、コードで記述しても  
エラーになります。  
ここからが解りません。

このやり方は、間違っているのでしょうか。

原因と対策をお教えください。

お願いいたします。

[![画像の説明をここに入力](https://i.stack.imgur.com/2aU8p.jpg)](https://i.stack.imgur.com/2aU8p.jpg)


CC BY-SA 3.0
2016-09-02T23:53:14.153
28659
2016-09-03T00:42:07.677
2016-09-03T00:42:07.677
4236
9374
question
c# wpf winforms
C#　ゲームのようにリアルタイムでカーソルキーなどを取得したい


`Keyboard.IsKeyDown`は`static`メソッドですので、以下のように呼び出す必要があります。

[code]

    Keyboard.IsKeyDown(Key.Space)
    
[/code]

なおキーが押されているか判定するのであれば、`GetKeyStates`と`IsKeyDown`はどちらか一方のみでよいです。


CC BY-SA 3.0
2016-09-03T00:17:13.897
28661
2016-09-03T00:17:13.897
5750
28659
answer