Frage

In .NET Framework ist es möglich, einige der Elemente in der festzulegen CheckedListBox als "unkontrollierbar"? Ich möchte den Benutzer nicht erlauben, dieselben Elemente erneut zu überprüfen und sie einer anderen vorhandenen Liste hinzuzufügen.

Ich hoffe ich bin klar. Danke im Voraus.

War es hilfreich?

Lösung

Ich würde diese Elemente in Code als "unbestimmt" einstellen und dann die Eigenschaft "NewValue" aus dem ItemCheck -Ereignis überschreiben, wenn der Benutzer versucht, sie zu überprüfen/zu deaktivieren:

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;
    }
}

Das Element "Ich kann mich nicht überprüfen" in der CheckedListBox kann nicht geändert werden, da der Benutzer jedes Mal, wenn der Benutzer versucht, ihn zu überprüfen/zu deaktivieren, den Ereignishandler zurückwechselt. Sie sehen das UI -Update nicht einmal entsprechend.

Andere Tipps

Matts Code ist gut.

Warum haben Sie jedoch ein Element in der CheckedListBox und lassen Sie es nicht ausgewählt?
Ich meine, warum dieses Element in der Liste haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top