VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2004/02/06(Fri) 16:08
投稿者隼人
Eメール
URL
タイトルRe^6: コンボボックスのイベント

# うぉぉっ、やっぱりハマってる (ToT)

下のような感じではどうでしょう...

Private Sub Combo1_Click(Index As Integer)
  Static flg As Boolean
  Dim sTemp As String
  Select Case Index
    Case 0
      Combo1(1).Clear
      Combo1(1).AddItem "ALL"
      Select Case Combo1(0).Text
        Case "野球"
          Combo1(1).AddItem "バット"
          Combo1(1).AddItem "ボール"
        Case "水泳"
          Combo1(1).AddItem "水着"
          Combo1(1).AddItem "ゴーグル"
      End Select
    Case 1
      If flg = True Then Exit Sub '* flg = True の時は、イベントを無視
      
      sTemp = Combo1(1).Text  '* 後で、選択項目を戻す為、変数に退避
      
      Select Case sTemp
        Case "バット", "ボール"
          Combo1(0).Text = "野球" '* Combo1_Click(0) イベントを発生させる
                                  '  Combo1(1).Text は未選択の状態になる
        Case "水着", "ゴーグル"
          Combo1(0).Text = "水泳" '* Combo1_Click(0) イベントを発生させる
                                  '  Combo1(1).Text は未選択の状態になる
      End Select
      
      flg = True  '* 以下で Combo1(1).Text を変更した時に発生する Combo1_Click(1)
      '           '  イベントを無視する為、 flg = True に設定
      
      Combo1(1).Text = sTemp  '* 上記で未選択の状態になって
                              '  しまった Combo1(1).Text を再度選択状態にする。
      
      flg = False '* flg を元に戻す
  End Select
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -