C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Keys列挙体の一覧を知りたい

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■88523 / inTopicNo.1)  Keys列挙体の一覧を知りたい
  
□投稿者/ ピンフ (1回)-(2018/09/05(Wed) 13:36:06)

分類:[.NET 全般] 

System.Windows.Forms.Keys列挙体の一覧(列挙体名と値)って、どこかに載っていませんか?
#例えば、Keys.Aが65(0x41)、のようなもの。修飾キー関連も欲しいです。

現在、VS2013(C#またはVB)で開発を行っていますが、実際の列挙体の値を知る方法が分からず、
コードエディタ上に"Keys."と打って、その値を確認する、という非効率な方法を行っています。

もしプログラムでKeys列挙体のリストアップが可能であれば、その方法が知りたいです。

よろしくお願いします。
引用返信 編集キー/
■88524 / inTopicNo.2)  Re[1]: Keys列挙体の一覧を知りたい
□投稿者/ 魔界の仮面弁士 (1815回)-(2018/09/05(Wed) 13:43:58)
No88523 (ピンフ さん) に返信
> System.Windows.Forms.Keys列挙体の一覧(列挙体名と値)って、どこかに載っていませんか?
> #例えば、Keys.Aが65(0x41)、のようなもの。修飾キー関連も欲しいです。
[表示]メニューの [オブジェクト ブラウザー] では駄目ですか?
あるいは MSDN Library とか。

> もしプログラムでKeys列挙体のリストアップが可能であれば、その方法が知りたいです。
Enum.GetValues メソッドや Enum.GetNames メソッドはいかがでしょう。
引用返信 編集キー/
■88525 / inTopicNo.3)  Re[1]: Keys列挙体の一覧を知りたい
□投稿者/ shu (1140回)-(2018/09/05(Wed) 14:10:02)
No88523 (ピンフ さん) に返信
> System.Windows.Forms.Keys列挙体の一覧(列挙体名と値)って、どこかに載っていませんか?
> #例えば、Keys.Aが65(0x41)、のようなもの。修飾キー関連も欲しいです。
>
> 現在、VS2013(C#またはVB)で開発を行っていますが、実際の列挙体の値を知る方法が分からず、
> コードエディタ上に"Keys."と打って、その値を確認する、という非効率な方法を行っています。
>
> もしプログラムでKeys列挙体のリストアップが可能であれば、その方法が知りたいです。
>
> よろしくお願いします。
現在どのようなコーディングをされているのか分かりませんが、Keys.Aの値を知らなくても
よいようなコーディングにされた方がよいと思います。
引用返信 編集キー/
■88526 / inTopicNo.4)  Re[1]: Keys列挙体の一覧を知りたい
□投稿者/ みい (85回)-(2018/09/05(Wed) 14:30:13)
No88523 (ピンフ さん) に返信
「System.Windows.Forms.Keys」で検索すればすぐ見つかりますよ。
http://liliumrubellum.blog10.fc2.com/blog-entry-278.html

引用返信 編集キー/
■88527 / inTopicNo.5)  Re[2]: Keys列挙体の一覧を知りたい
□投稿者/ 魔界の仮面弁士 (1816回)-(2018/09/05(Wed) 14:30:20)
No88524 (魔界の仮面弁士) に追記
> [表示]メニューの [オブジェクト ブラウザー] では駄目ですか?

これだと値の列挙調査には向かないですね。

値が表示されるのは VB プロジェクトの場合だけで、
C# だと値が分からないですし、Visual Basic だったとしても
エントリーを一つ一つクリックしないといけない。

コードウィンドウに Keys と打ってから、それを右クリックして
「定義をここに表示」を選んだ方が手っ取り早そうです。



> あるいは MSDN Library とか。
こっちに値は載ってなかったか…。すみません。

代わりに Refrence Source を貼っておきます。
https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/Keys.cs



> Enum.GetValues メソッドや Enum.GetNames メソッドはいかがでしょう。
PowerShell で。


Add-Type -AssemblyName System.Windows.Forms

[System.Enum]::GetNames([System.Windows.Forms.Keys]) |select { [int][System.Windows.Forms.Keys] $_ , [string]$_}
引用返信 編集キー/
■88528 / inTopicNo.6)  Re[2]: Keys列挙体の一覧を知りたい
□投稿者/ ピンフ (2回)-(2018/09/05(Wed) 14:52:24)
今、低レベルフックを用いてキー押下の検出の検証を行っているのですが、
その際に検出したキーが何なのかを知りたくて、質問しました。
なので、Keys.Aの値が何であるかはどうでも良くって、
65(0x41)を表すキーが何かを知りたい、ということに尽きます。

今後、これとKeys列挙体を組み合わせて利用する予定だったので、
Keys列挙体の一覧があるといいなと思ったのです。

Enum.GetValuesで目的を達成することができました。
ありがとうございました。
解決済み
引用返信 編集キー/
■88530 / inTopicNo.7)  Re[2]: Keys列挙体の一覧を知りたい
□投稿者/ ピンフ (3回)-(2018/09/05(Wed) 15:05:43)
No88526 (みい さん) に返信
> ■No88523 (ピンフ さん) に返信
> 「System.Windows.Forms.Keys」で検索すればすぐ見つかりますよ。
> http://liliumrubellum.blog10.fc2.com/blog-entry-278.html

「System.Windows.Forms.Keys列挙体 一覧」で検索していたのにも関わらず、
あろうことか、このページをスルーしてしまいました。
まさに求めていたものでした。
情報提供ありがとうございました。
解決済み
引用返信 編集キー/
■88532 / inTopicNo.8)  Re[3]: Keys列挙体の一覧を知りたい
□投稿者/ Hongliang (689回)-(2018/09/05(Wed) 16:15:15)
2018/09/05(Wed) 16:18:46 編集(投稿者)

> その際に検出したキーが何なのかを知りたくて、質問しました。
> なので、Keys.Aの値が何であるかはどうでも良くって、
> 65(0x41)を表すキーが何かを知りたい、ということに尽きます。

int vk = 65;
Keys key = (Keys)vk;
で仮想キーコードからKeys列挙体に直接変換できたりします。値は同じなので。
解決済み
引用返信 編集キー/
■88533 / inTopicNo.9)  Re[4]: Keys列挙体の一覧を知りたい
□投稿者/ ピンフ (4回)-(2018/09/05(Wed) 17:59:37)
No88532 (Hongliang さん) に返信
> int vk = 65;
> Keys key = (Keys)vk;
> で仮想キーコードからKeys列挙体に直接変換できたりします。値は同じなので。

ああ、そうか。
キャストすれば良かったですね。
色々と勉強できました。
皆様、ありがとうございました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ