コンボボックスの選択が変更された時、ある条件の場合に選択を元に戻すには?

解決


坂東  2009-03-08 07:06:24  No: 141654

坂東と申します。質問させていただきます。
VB 2008で色々やろうと思っているのですが、例えば、コンボボックスなどで
表示されている選択内容を変更した場合、条件判断をして、条件に合わない場合は
コンボボックスの選択された値を元に戻すようなことをしたいと思っています。
自分のない頭を駆使して、以下のようにすればいいのかなと思ったのですが、
・あらかじめコンボボックスのSelectedIndexを変数などに記憶させておく。
・SelectedIndexChangedイベントSub内で、条件判断をして、条件に合わない場合は
  変数等に記憶させていた値をコンボボックスのSelectedIndexにセットする。
この方法だと、条件に合わない場合のコンボボックスのSelectedIndexを元に戻す段階でまたSelectedIndexChangedイベントが発生してしまい、うまくいきません。
他にいい方法はあるでしょうか?
例えば、コンボボックスの選択変更前に発生するイベントがあって、そのSubの中で
条件判断して、条件に合わない場合はコンボボックスの選択変更をキャンセルする、など...
どうぞよろしくお願いいたします。


YuO  2009-03-08 22:11:25  No: 141655

「元の値」と「SelectedIndex」が同じであれば,変更されていないとみなしてReturnすればよいのでは?
# キャンセルした場合は,「元の値」を変更しないことが条件ですが。


坂東  2009-03-11 05:54:29  No: 141656

YuO様、ご回答ありがとうございます。
ご連絡が遅くなり申し訳ございません。
教えていただいた方法でやってみます。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加