• 締切済み

VB リストボックスのGotFocusについて

リストボックスのイベントでGotFocusを採用している部分があります。 リスト内の任意のレコード(表示データ部分)をクリック、もしくは クリックされた後に上矢印のキーを押すと、GotFocusイベントが働く のですが、それ以外の矢印キー(左右と下)に関してはキーを押しても GotFocusイベントの部分をプログラムが走りません。左右は問題視 していませんが、できれば、任意のレコードをクリックした後で、 下矢印キーを押してもGotFocusイベントが動くようにしたいのですが どのようにすればよろしいのでしょうか。 バージョンはVB6です。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

勘違いなさっていませんか? GotFocusイベントはフォーカスを受け取ったときに発生するイベントです リストボックスをクリックした際に発生して以後のキー入力などでは発生しないように思います フォームに ボタン1、リストボックス1、ボタン2がこの順序でTabIndexが付いていたとして ボタン1にフォーカスがある際に 下矢印でリストボックスにフォーカスが移動します ボタン2にフォーカスがある際に 上矢印でリストボックスにフォーカスが移動します このフォーカスがリストボックスに移動した際にGotFocusイベントが発生します 以後のキー入力では発生しませんよ フォームや他のコンテナでキー入力の処理をやっていませんか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBとリストボックス

    こんにちわ。 いまVB6.0sp5でリストボックスに チェックボックス付きのリストを表示し, クリックで複数選択するロジックを組んでいます。 リストに表示するデータ件数がリストボックスの高さを超えるため, 横スクロールさせる必要があります。 そこで,2列目のキャプションをクリックすると, スクロールし,選択した行以外のチェックボックスが見た目, 消えてしまいます。 なお消えたチェックボックスの箇所をクリックすると, その行のチェックボックスが選択された状態で表示されます。 2列目のキャプションをクリックしたときに,ほかの行のチェックボックスを 消さないようにしたいのですが, どうすれば良いでしょうか? 教えてください。 宜しくお願いします。

  • VB6.0 リストボックス

    VB6.0で3つのリストボックスに関連性を持たせたいと思っています。 Private Sub lstBox_Click() Dim intLstIndex As Integer intLstIndex = lstA.ListIndex If (lstA.Selected(intLstIndex)) Then lstB.Selected(intLstIndex) = True lstC.Selected(intLstIndex) = True Else lstB.Selected(intLstIndex) = False lstC.Selected(intLstIndex) = False End If End Sub 以上のように、どれか一つのリストボックスがクリックされたら他のリストボックスの同じ行がtrueになるようにしています。 しかしこれでは件数が増えた場合、選択された行が揃わなくなる場合があり非常に見栄えが悪くなります。 リストボックスでなくともかまわないのですが、このように三つの項目に関連性をもたせることはできませんでしょうか。

  • VB6でチェックボックス付のリストボックスを配置しているのですが、行を

    VB6でチェックボックス付のリストボックスを配置しているのですが、行を選択したときにチェックON/OFFにさせることはできないでしょうか? 現状だとチェックボックスをクリックしないと動かないので・・・。

  • VBのリストボックスでのスクロールバーについて

    VB5で5件のデータ表示サイズをもつリストボックスに 10件のデータを設定した場合にスクロールバーが表示 されますが、この画面を参照モードとして使用したい場合に List1.Enabled=False としました。しかし、この方法だとスクロールバーも 非活性となり、5件以降のデータが参照出来なくなります。 非活性にせず、参照モードの場合にはクリックイベント内で List1.Selected(n)=False Exit Sub をして操作出来ない様にしました。しかし、これだと リストボックスを選択した際に一瞬選択状態になってしまいます。 選択状態にしない方法、もしくは非活性のままスクロール出来る 方法を知っている方がいましたら、御教授下さい。

  • VB2005 のイベントについて

    いつもお世話になっています。 OS:Windows 2000 言語:VB2005 Express Edition で作成しているのですが、イベントの質問があります。 TextBoxのフォーカスを取得した時に、 そのTextBoxに設定されている文字列を選択させようと思い TextBoxのEnterイベントでSelectAllをしているのですが、 この場合ですと、マウスでクリック選択した時には文字列が選択されません。 Private Sub txt_id_Enter(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txt_id.Enter txt_id.SelectAll() End Sub VB6.0 では Private Sub txt_id_GotFocus txt_id.SelStart = 0 txt_id.SelLength = Len(ob_Textbox.Text) End Sub 上記の通り、GotFocusイベントを使用しており、Tabキーでフォーカス取得していた時も マウスで選択している時も変わらず文字列は選択されていました。 VB2005のGotFocusイベントでは、一旦選択されるのですが すぐに選択は解除されてしまうのです。 他にVB6.0のGotFocusと同等のイベントや、対応策などありませんでしょうか? よろしくおねがいいたします。

  • リストボックスの並び替え

    VB.NETについて質問です。 ボタン1をクリックしたら、テキストボックス1に入力した文字を、リストボックス1に登録するとします。 この時、名前、年齢を入力します。 これを、ボタン2、3、をクリックしたら、リストボックスの内容を、名前順、年齢順に並べ替えたいです。 どうしても分かりません。 並べ替えるにはどうしたらいいでしょうか?

  • リストボックスから直接引き金を引く

    お世話になります。 早速ですが、 今、あるaplを書いていまして、 処理内容はリストボックスからキーを選択させ、 そのキーでDBを検索、表示するというモノです。 現在のロジック、つくりは、 リストボックスの下に(「表示」という)ボタンを設置してあり、 リストボックスからキーを選択した後、 そのボタンを押すことでcgiに戻りDBを検索する、 となっています。 ボタンのコード;<input type=submit value="表示"> ここで質問ですが、 リストボックスからキーを選択したらそのままDB検索へ移行するような コードを教えて欲しいのです。 (いちいち表示ボタンを押さなくて良いやり方です) 以上、宜しくお願いします。

    • ベストアンサー
    • CGI
  • エクセル VB: フォーム内のリストボックスの項目

    エクセルVBなのですが、フォームをつくってその中にリストボックスを配置しました。 コマンドボタンで呼び出して、シート内にあるリストから項目を抽出し反復を省略したリストを フォーム内のリストボックスに作りたいのですが。 Private Sub CommandButton1_Click() UserForm1.Show (このあとリスト項目のコード) End Sub コマンドボタンをクリックすると、UserForm1が現れますが、リストの中身は空です。一度Unload meでフォームを終わらせて、2回目クリックするとリストの中身が現れます。 一回目のクリックでエラーは出ません。 一回目のクリックでリストを配置したいのですが、何が問題なんでしょうか? Excel2003 Windows Xp です。 よろしくご教示下さい。

  • accessでのリストボックス選択のイベント

    お世話になります。 度々で恐縮なのですが、以下の質問を よろしくお願いいたします。 accessのフォーム上にリストボックスとテキスト ボックスをはりつけ、リストボックスに表示されて いる行が選択されたら、その項目値をテキスト ボックスに表示させようとしています。 しかし、リストボックスのイベント(マウスボタン クリック時や開放時)を使ってみたのですが、 二度クリックしないとテキストボックスに表示され ません。 リストボックスの行が選択されたというイベントが あればいいのですが、見当たりません。 どうすれば、リストボックスで行が選択されたという イベントを捕まえることができるのかご教示お願い いたします。

  • リストボックスの使い方

    VB2008エクスプレスを使っています ボタンを押すと画像や文字を表示することは出来るのですが リストボックスにいくつか項目を作り その項目ごとに表示される文字や画像を変えたいんですが どうすればいいのでしょうか? ちなみにボタンコントロールをダブルクリックして PictureBox1.Image = Image.FromFile("C:\Windows\大草原の風.bmp") と文を書くとピクチャーボックスに画像でます ここまでわかるのですが、リストボックスの項目ごとに 画像の種類を変えたりしたいです