dポイントプレゼントキャンペーン実施中!

VB6です
comboboxを設置してクリックイベントに処理を書いたら、フォームロード時に必ず1回クリックイベントが発生します。

当初はフラグを立ててこの現象を回避していたのですが、コードを書くうちに、この最初のクリックイベントが面倒で仕方ありません。

comboboxを設置するとフォームロード時に必ずクリックイベントが発生するのはVB6の仕様なのでしょうか。

それともほかに回避の仕方があるのでしょうか。

A 回答 (2件)

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のプロパティなどバインドすることもお忘れなく ...
    • good
    • 1
この回答へのお礼

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

バインドも試してみたいと思います。

お礼日時:2006/12/04 09:32

comboboxの初期状態が、リストの内容を選択していないなら


SelectIndexを調べて、すぐに処理を中断することが出来ます。
If Combobox1.SelectIndex = -1 Then Exit Sub
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/12/04 09:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています