DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGrid の キーイベント

環境/言語:[WindowsXP Pro, VB.NET]
分類:[.NET]

初めまして。
以前よりここのHPを参考にさせていただいております。
この度もDataGridのキーダウンのイベントと行毎の色替えの指定を参考にさせていただきました。
この度のPgにも組み込ませていただいております。

この度の質問なのですが
DataGridのキーアップイベントを補足する と言うことなのですが
「DataGridのセル内でのキーイベントを捕捉する」を参考に

'KeyDownイベントハンドラを追加
AddHandler tb.KeyDown, AddressOf tb_KeyDown
End Sub
'KeyUpイベントハンドラ
Private Sub tb_KeyUp(ByVal sender As Object, _
ByVal e As KeyEventArgs)
の部分を
'KeyDownイベントハンドラを追加
AddHandler tb.KeyUp, AddressOf tb_KeyUp
End Sub
'KeyUpイベントハンドラ
Private Sub tb_KeyUp(ByVal sender As Object, _
ByVal e As KeyEventArgs)
と変更したのですが、うまく動作しませんでした。

コマンド的にはKeyDownもKeyUpも一緒だと思うのですが、
なにか勘違いがある可能性が高いと思われますのでアドバイスの方宜しくお願いいたします。
■No9641に返信(はじめさんの記事)

はじめまして 平ちゃんです。

問題ない気がしますが、

>と変更したのですが、うまく動作しませんでした。
>

どの様な動作を期待しているのでしょうか?
ご回答ありがとうございます。

試行錯誤の結果KeyUpの状態が取れることを確認いたしました。

実際この度やりたいことはと言うと

・タイマーイベント時、コマンドボタンクリックイベント時、押されているキー情報を取得したいのです。

でしたので、

キーダウンイベントで押されたキー情報取得→
キーアップイベントで押されていたキー情報解除

と言う流れにしようと思っていたのですが、

今その動きを確認していたところ、キーアップイベント単体では取れたのですが

キーダウンイベント→情報取得
他のイベント発生→他のイベント起動
キー開放→キーアップイベントせず

どうやらキーを押した状態で他の動作をするとキーダウンの状態が忘れられてしまうようです?
ですのでキーアップイベントがかかりませんでした。

ですので今したいことは
イベント発声時に何のキーが押されているかを知る
に変わりました 汗

再度何かございました際にはアドバイスの程宜しくお願いいたします。
お世話になっております。

何とか試行錯誤の結果、解決いたしました。

平ちゃん様を始め皆様方には大変お世話になりました。

またの機会がございました際には宜しくお願いいたします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板