2009-02-28 23 views
131

Ho alcuni elementi in un ComboBox (WinForms con C#). Voglio che il loro contenuto sia statico in modo che un utente non possa modificare i valori all'interno quando viene eseguita l'applicazione. Anche io non voglio che l'utente di aggiungere nuovi valori alla casella combinataCome disabilitare la modifica di elementi in combobox per C#?

risposta

249

Utilizzare la proprietà ComboStyle:

comboBox.DropDownStyle = ComboBoxStyle.DropDownList; 
+34

Questo può anche essere impostato nella finestra delle proprietà del designer. – Jeffrey

+10

Boo Windows designer. – QueueHammer

+2

Con le versioni recenti è possibile utilizzare 'combo.Properties.TextEditStyle = DisableTextEditor' – Keysharpener

17

Questo è un altro metodo che uso perché cambiare DropDownSyle-DropDownList lo fa apparire in 3D e, talvolta, la sua semplicemente brutto .

È possibile impedire l'input dell'utente gestendo l'evento KeyPress del ComboBox come questo.

private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e) 
{ 
     e.Handled = true; 
} 
+3

È possibile modificare la sua visualizzazione nel designer, FlatStyle :) – StinkyCat

+3

@StinkyCat Che non cambia l'aspetto della lista spuntata, solo il controllo nel modulo. – Logarr

+0

hum .. ok, mie apolagie. dovrei cancellare il mio commento allora? lol – StinkyCat

1

Yow può cambiare il DropDownStyle in oggetti da DropDownList. Questo non mostrerà il TextBox per il filtro.

Problemi correlati