2012-05-04 39 views
4

CheckedListBoxでItemCheckイベントをキャンセルする信頼できる方法を知っている人はいますか?私は、ItemCheckイベントが基本的にフォーム上の変更を破棄する必要がある状況にありますが、その人が破棄を取り消すことを決定した場合、ItemCheckイベントは何も変更しないように起動しません。CheckedListBoxでItemCheckイベントをキャンセルする信頼できる方法

答えて

12

ItemCheckイベントで簡単に実行できます。値を元に戻すだけです。このように:

private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e) { 
     if (someCondition) e.NewValue = e.CurrentValue; 
     else { 
      // Regular stuff 
      //... 
     } 
    } 
+0

私はComboBox :: SelectedIndexChanged()イベントで同様のことをやりますか?そこでは、パラメータSystem :: EventArgs^eにe.NetValueとe.CurrentValueのバリューがありません。実際にインデックスを変更する前に条件付きチェックを強制することができる別のComboBoxイベントがありますか、または常に現在のインデックスをローカルに保存する必要がありますか? – ministry

0
public void cancelevent()  
{   
    checkedListBox1.ItemCheck -= new ItemCheckEventHandler(this.checkedListBox1_ItemCheck);   
} 

呼び出し、このメソッドは、任意の場所、イベントをキャンセルします。

+ =イベントが作成され、 - =イベントが削除された場合。

詳細をご希望の場合は、お知らせください。 :)

関連する問題