質問

.NETフレームワークでは、 CheckedListBox 内のいくつかの項目を" uncheckable"として設定できますか? ?ユーザーが同じアイテムを再度チェックして別の既存のリストに追加することを許可したくありません。

明確になってほしい。 事前に感謝します。

役に立ちましたか?

解決

これらのアイテムを" Indeterminate"として設定します。コード内で、次に" NewValue"を上書きします。ユーザーがチェック/チェック解除しようとしたときのItemCheckイベントのプロパティ:

public Form1()
{
    InitializeComponent();
    checkedListBox1.Items.Add("Can't check me", CheckState.Indeterminate);
}

private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
    if (e.CurrentValue == CheckState.Indeterminate)
    {
        e.NewValue = CheckState.Indeterminate;
    }
}

「私を確認できません」」 CheckedListBoxの項目は変更できません。ユーザーがチェック/チェック解除を試みるたびに、イベントハンドラーがそれを元に戻すためです。 UIの更新もそれに応じて表示されません。

他のヒント

Mattのコードは優れています。

まだ、checkedlistboxにアイテムがあり、選択できないようにしているのはなぜですか?
そのアイテムがリストにある理由を意味します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top