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

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

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

Re[2]: カギ括弧やバックスラッシュを受ける方法


(過去ログ 163 を表示中)

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

■94364 / inTopicNo.1)  カギ括弧やバックスラッシュを受ける方法
  
□投稿者/ zoon (1回)-(2020/04/06(Mon) 14:21:06)

分類:[.NET 全般] 

VBを使っております。

キーボード右下にある
カギ括弧 [ や ]
スラッシュ・バックスラッシュ / \

を入力した時に、コマンドを実行したいのですが、


Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown

のところで

If e.KeyCode = Keys.ShiftKey Then

のKeysの中からそれらしいものを探したのですが、
該当するものが見当たりませんでした。

検索してみても
Square Brackets
Back thrash
などと検索しても、どれを使えば良いか分かりません

どなたか教えてくださいませ



引用返信 編集キー/
■94365 / inTopicNo.2)  Re[1]: カギ括弧やバックスラッシュを受ける方法
□投稿者/ PANG2 (330回)-(2020/04/06(Mon) 14:35:43)
C#ですが
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
	System.Diagnostics.Debug.WriteLine("KeyCode=" + e.KeyCode);
}

引用返信 編集キー/
■94366 / inTopicNo.3)  Re[1]: カギ括弧やバックスラッシュを受ける方法
□投稿者/ 魔界の仮面弁士 (2667回)-(2020/04/06(Mon) 15:00:18)
No94364 (zoon さん) に返信
> Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown

KeyPress イベントでは駄目でしょうか?

Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles MyBase.KeyPress
  Select Case e.KeyChar
    Case "["c
      BackColor = Color.LemonChiffon
    Case "]"c
      BackColor = Color.Cyan
    Case "\"c
      BackColor = Color.LightPink
    Case "/"c
      BackColor = Color.SeaGreen
    Case Else
      MyBase.ResetBackColor()
  End Select
End Sub



> キーボード右下にある
> カギ括弧 [ や ]
> スラッシュ・バックスラッシュ / \

「入力した文字」に反応したいなら KeyPress イベントです。
「押されたキー」に反応したいなら KeyDown イベントです。


たとえば日本語 109 キーボードだと、
'\' の文字を入力する際に、[Backspace] の左隣のキーと、[右Shift] の左隣のキーの
2 箇所が割り当てられていることがあります。


このどちらが押されたとしても、'\' の入力として扱いたいのなら、
KeyPress イベントが向いています。


一方、それらを区別したいのであれば KeyDown イベントとなりますが、
こちらは「文字」を伴わない F2 や Shift 等にも反応できる反面、
CapsLock、NumLock、KanaLock 等のトグル状態を追跡しないため、
同じキーに複数の文字が割り当てられていた場合に、区別できません。
引用返信 編集キー/
■94371 / inTopicNo.4)  Re[2]: カギ括弧やバックスラッシュを受ける方法
□投稿者/ zoon (3回)-(2020/04/06(Mon) 20:54:22)
ありがとうございます。
なるほどデバッグで調べる方法がありましたね
KeyPressとKeyDownの違いも勉強になりました

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -