0

.NETWindowsフォームアプリケーションに取り組んでいます。チェックされていない場合にリストからチェックボックスを削除することになっているCheckedListBoxコントロールのイベントハンドラプロシージャがあります。その部分は機能しましたが、問題は、チェックされるはずの次のチェックボックスが、それを行うと自動的にオフになることです。

CheckedListBoxからすべての要素を「手動で」削除して再度追加し、チェックされていることを確認しましたが、次のチェックボックスはオフのままです。

これは非常に苛立たしいことです。

私のコードに何か問題がありますか、それともこれはバグですか?

    private void checkedListBox_ItemCheck(object sender, ItemCheckEventArgs e)
    {
        if (e.CurrentValue == CheckState.Checked)
        {
            checkedListBox.Items.RemoveAt(e.Index);
        }
    }
4

1 に答える 1

0

問題を解決する方法を見つけました。ちょっとしたハックですが、うまくいきます。

ここでは、MouseUp イベント ハンドラー プロシージャを用意し、その内部でcheckedListBox のアイテムをループして、チェックされていないアイテムをチェック済みに設定しました。

于 2012-06-29T22:32:59.000 に答える