Domanda

Sto scrivendo una GUI in C #, Visual Studio 2008, usando Designer e WinForms. Ho un controllo ComboBox e mi piacerebbe solo consentire di selezionare tra le opzioni fornite e non accettare una stringa immessa dall'utente. Non sembra avere una proprietà ReadOnly e disabilitarlo ostacola la leggibilità del controllo (oltre a non consentire la selezione dell'utente).

È stato utile?

Soluzione

Imposta DropDownStyle su " DropDownList "

Altri suggerimenti

Imposta la proprietà ComboBox.DropDownStyle su ComboBoxStyle.DropDownList.

Un altro modo semplice per farlo.

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

Utilizza un codice simile al seguente per impostare le opzioni consentite e solo quelle.

comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox1.Items.AddRange(new object[] {
    "One",
    "Two",
    "Three",
    "Four"});

Prova a utilizzare un DropDownListbox

Il mio requisito: quando l'utente fornisce un input tramite la casella combinata non può modificare il valore prima di inviarlo. Possono leggere solo quel valore.
Secondo il mio requisito, faccio le seguenti cose.

1) Ricevi input dall'utente tramite la casella combinata.
2) Copia il valore della casella combinata in una casella di testo (che è di sola lettura e invisibile).
3) False la visibilità della casella combinata.
4) Vero la visibilità della casella di testo di sola lettura.

Fallo con gli eventi.

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