掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
キーイベントの2重処理をやめるには? (ID:104596)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして。クレンといいます。 質問です。 ファイルリストボックスのセル位置を2つのコマンドボタンで移動する ものをつくりました。 そして、KeyDownイベントを使用して矢印キーの右キー、左キーを 各ボタンに割り当てました。 そこで問題なのは、 右キー(左キー)を一回押すと、2つずつ移動するのです。 たぶん、キーを押すと2回コマンドボタンが押されている状態に なっている2重処理なのではないかと思うのですが、 どうしたらよいのかわかりません。 ちなみにボタンをクリックした場合は正常に1つずつ移動してます。 キーイベントに関するソースを下に書きます。 Private Sub Form_Load() KeyPreview = True End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyRight: Call NextButton_Click Case vbKeyLeft: Call PrevButton_Click End Select End Sub いちおう、コマンドボタンの一つを書いておきます '次のセルに移動する Private Sub NextButton_Click() '前処理 '次の項目番号 nNextList = FileList.ListIndex + 1 '現在ディレクトリのファイル数(最大項目数) nMaxList = FileList.ListCount 'セル移動処理 '一つ下にセルを移動 If (nMaxList > nNextList) Then FileList.Selected(nNextList) = True End If End Sub 説明不足のところがありましたらすいません。 どうか、ご指導の程おねがいいたします。 環境: OS:WindowsMe VB:VB6.0
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.