Domanda

ho una combobox che ho Enabled = false. Quando questo è il caso che induce a ombra per un grigio. Mi chiedevo se ci fosse un modo ho potuto mantenere il colore casella di sfondo come cornsilk mentre non è abilitata?

La situazione è che ho una forma che io vi ristorerò con i dati quando si seleziona un elemento. Se l'utente sceglie di modificare il record permetto il modulo per accettare le modifiche e dato che è principalmente caselle di testo mi limito a cambiare la proprietà di sola lettura di quelli. Ma la casella combinata appare diverso quindi voglio vedere cosa posso fare per farlo rimanere lo stesso come il resto della forma ...

Tutte le idee?

È stato utile?

Soluzione

Vorrei semplicemente nasconderlo con una TextBox su di esso e impostare la proprietà Visible su false. Quindi, è l'utente fa clic sul pulsante Modifica, nascondi il tuo TextBox e mostrare la tua casella combinata con la proprietà Visible impostata su true.

Forse si desidera aggiornare la vostra proprietà TextBox.Text impostando il suo valore per il valore della proprietà ComboBox.SelectedItem sul gestore di eventi SelectedItemChanged ().

Supponiamo il seguente:

ComboBox cb = new ComboBox();
// Position, size and other properties are set through design.
cb.SelectedIndex = 0; // Forces selection of first item for demo purposes.

TextBox tb = new TextBox();
tb.Size = cb.Size;
tb.Position = cb.Position;
tb.Text = cb.SelectedItem.ToString();
tb.Visible = true;
tb.Readonly = true;

cb.Visible = false;

Poi, facendo clic sul pulsante Modifica:

private void EditButton_Click(...) {
    tb.Visible = false;
    cb.Visible = true;
}

E rendere il valore della proprietà TextBox.Text seguire il vostro SelectedItem:

private void ComboBox_SelectedIndexChanged(...) {
    tb.Text = cb.SelectedItem.ToString;
}

E si sarebbe solo fare il contrario del vostro EditButton_Click () gestore di eventi per riportare il modulo in sola-lettura modalità.

Altri suggerimenti

Si può considerare l'utilizzo di jQuery UI o altri plugin, se l'estetica della forma sono importanti. È possibile controllare completamente l'aspetto e sentire con il CSS.

combobox Nascondere con casella di testo è una possibilità, come suggerito da Will ma poi si dovrà utilizzare la larghezza assoluta per la discesa.

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