• ベストアンサー

VB6でForm_Load中にイベントを発生させない方法

VB6でForm_Loadにオプションボタンの選択を変更するとオプションボタンのクリックイベント(選択変更)が動作してしまいます。 Form_Loadの初期表示の設定をしているときは、オプションボタンのイベントを無効にしたいのですがどのようにしたら良いでしょうか? RemoveHandler等の処理があるみたいですが良く分かりません。 良い方法を教えてください。 宜しくお願いします。。

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

VB6の環境がないのでなんですが、 Flagを使ってもできないことはないですね。 Optionコントロールは配列にしてあるでしょうから 追加コードも少々でしょう。 '--------------------------------------  Dim Flag As Boolean Private Sub Form_Load()  Flag = True  Option1(0).Value = True  Flag = False End Sub Private Sub Option1_Click(Index As Integer)  If Flag Then Exit Sub  MsgBox "option" End Sub '------------------------------------------- 以上ここまで。  

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

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

似たような質問があった。 http://homepage1.nifty.com/MADIA/vb/vb_bbs2/200511/200511_05110066.html VBには無いようですね。 であれば、フラグででも処理情況を伝えて、成就していない間は、イベントで直ぐExitSubするほか無いようです。 ーー エクセルVBAにApplication.EnableEvents が有るので、APIかなんか使えば出来そうだが。

すると、全ての回答が全文表示されます。
  • usokoku
  • ベストアンサー率29% (744/2559)
回答No.1

そのあたりのないようがさっぱりわからないので、 大域で Dim FormLoadFig& と作業中フラグを用意して Sub Form_load.... FormLoadFig& = 1& (適当な処理) FormLoadFig& = 2& end sub Sub 適当に_clock if (FormLoadFig& = 1&) then else (適当な処理) end if end sub Sub Form_Unload.... '大域変数は初回のみ初期化されるのでここで初期状態を設定 'イニシャライズのほうで初期化するのも可 FormLoadFig& = 0& end sub

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

関連するQ&A