• ベストアンサー

comboboxのクリックイベントについて

VB6です comboboxを設置してクリックイベントに処理を書いたら、フォームロード時に必ず1回クリックイベントが発生します。 当初はフラグを立ててこの現象を回避していたのですが、コードを書くうちに、この最初のクリックイベントが面倒で仕方ありません。 comboboxを設置するとフォームロード時に必ずクリックイベントが発生するのはVB6の仕様なのでしょうか。 それともほかに回避の仕方があるのでしょうか。

質問者が選んだベストアンサー

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

VB6ですと フラグでの制御が簡単だと思います FormのLoadイベントなら VisibleプロパティがFalseの状態ですので これを判断材料にしてみてはいかがでしょう If Combo1.Parent.Visible=false then exit sub # この方法だと毎回追加しないといけませんが ... 別の手立ては UserControlにComboBoxを貼って Clickイベントを ComboBoxにバインドします このClickイベントで if UserControl.Parent.Visible=false then Exit Sub を追加して使うといった方法です List,ListIndex,ListCountなど ComboBoxのプロパティなどバインドすることもお忘れなく ...

xiaolong_goo
質問者

お礼

お返事ありがとうございます。 同じようなことをやってみましたが、やはり後からの処理が面倒でした。 バインドも試してみたいと思います。

その他の回答 (1)

回答No.2

comboboxの初期状態が、リストの内容を選択していないなら SelectIndexを調べて、すぐに処理を中断することが出来ます。 If Combobox1.SelectIndex = -1 Then Exit Sub

xiaolong_goo
質問者

お礼

Indexはロードの際に0を選択しています。 いま、リストを未選択にして処理を考えています。 お返事ありがとうございました。

関連するQ&A