• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB6でClickイベントを一時的に削除したい)

VB6でClickイベントを一時的に削除する方法

このQ&Aのポイント
  • VB6で二つのコンボックス内でお互いのリストを編集する処理を作りたいが、編集時に相手のコンボックスにClickイベントが発生して無限ループになる問題が生じる。
  • RemoveHandler、AddHandlerを使用して一時的にイベントを停止させようとしたが、「メソッドまたはデータメンバが見つかりません。」のエラーが発生する。
  • Clickイベントを停止させるためには、Combo1_ClickおよびCombo2_Clickの中で一時的にイベントを削除して編集を行い、その後再度イベントを追加する必要がある。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

ざっと作ったのと試験環境がないので多少の手直しは必要かも。 おおよそのイメージです。 'Option explicitの直下で定義すること public bフラグ as boolean  'True:他のイベントで発生、false:ユーザ操作で発生 private form_load  bフラグ=true  'ここでコンボ要素を作る  bフラグ=false exit sub private combo1_click  if bフラグ then 'booleanだからbフラグ=trueと書かなくてもOK   exit sub  end if  bフラグ=true  combo2.Listindex=combo1.Listindex  bフラグ=false exit sub private combo2_click  if bフラグ then 'booleanだからbフラグ=trueと書かなくてもOK   exit sub  end if  bフラグ=true  combo1.Listindex=combo2.Listindex  bフラグ=false exit sub

usami33
質問者

お礼

回答ありがとうございます。 なるほど、subを抜けてしまえばよいのですね さっそく試したら無事、希望通りでした。 ・・・目からうろこです ありがとうございました

その他の回答 (2)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

if文ブロック中のexit subは正しいが、その他はEnd subでした。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

フラグ設けて、ユーザによる操作中なのか、 関連して設定のためのイベントなのかを識別し、 関連して生じる操作なら、exit subしちゃえばOK。

usami33
質問者

お礼

回答ありがとうございます。 なるほど、subを抜けてしまえばよいのですね さっそく試したら無事、希望通りでした。 ・・・目からうろこです ありがとうございました

関連するQ&A