Domanda

In .NET framework, è possibile impostare alcuni degli elementi in CheckedListBox come " uncheckable " ? Non voglio consentire all'utente di controllare nuovamente gli stessi elementi e di aggiungerli a un altro elenco esistente.

Spero di essere chiaro. Grazie in anticipo.

È stato utile?

Soluzione

Vorrei impostare tali elementi come "Indeterminato" nel codice, quindi sovrascrivere " NewValue " proprietà dall'evento ItemCheck quando l'utente tenta di selezionarli / deselezionarli:

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

Il " Non riesco a controllarmi " l'elemento in CheckedListBox non può essere modificato, poiché ogni volta che l'utente tenta di selezionarlo / deselezionarlo, il gestore eventi lo cambia di nuovo. Non vedi nemmeno l'aggiornamento dell'interfaccia utente di conseguenza.

Altri suggerimenti

Il codice di Matt è buono.

Tuttavia, perché un elemento nella casella di controllo e non lasciarlo selezionato?
Intendo perché avere quell'elemento nell'elenco.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top