Ho bisogno di un colore nero in una casella combinata disattivata. È possibile?Cambia colore della casella combinata disattivata
risposta
Ho cercato in giro per le informazioni in passato su questo, e per quanto ne so, la soluzione migliore è quella di cambiare il DrawMode della casella combinata a OwnerDrawFixed o OwnerDrawVariable e quindi scrivere la proprio codice di disegno nell'evento DrawItem della casella combinata.
ho trovato questo article che va in modo molto più dettagliato su di esso. Spero che sia d'aiuto.
Tutto quello che dovete fare è dire
combobox1.ForeColor = Color.FromName("Black");
Non importa se il controllo è disattivato o non, dovrebbe cambiare il colore di primo piano.
Non sono sicuro se la vostra applicazione è WinForms o WPF. Il codice riportato di seguito funziona in un'app WPF.
combo1.Items.Add("Item 1");
combo1.Items.Add("Item 2");
combo1.SelectedIndex = 0;
combo1.Foreground = Brushes.Black;
Nel mio XAML ho aggiunto una casella combinata e impostarne la proprietà IsEnabled su "false", quindi nel codice dietro ho usato il codice di cui sopra e funziona.
HTH
comboBox1.BackColor = Color.Black;
leggere la domanda. È * forecolor *, non backcolor. – CesarGon
Un "trucco" che ho utilizzato in passato per le caselle di testo è di lasciare il controllo abilitato, ma catturare l'evento "OnFocus" e impostare immediatamente lo stato attivo su qualche altro oggetto sul modulo, preferibilmente un'etichetta poiché non lo fa si mostra come selezionato. Penso che questo dovrebbe funzionare anche per i combobox.
questo potrebbe causare qualche problema quando si utilizza il tasto tab per scorrere i controlli – Breeze
No, non ha funzionato: provato con: comboBox1.Enabled = false; comboBox1.SelectedIndex = 0; comboBox1.ForeColor = Color.FromName ("Rosso"); – Sreedhar
Sembra che mi sbagliavo. Ho creato un'applicazione di esempio rapida che mostra questo. La soluzione migliore che ho trovato è che puoi mettere in grassetto il testo per rendere più leggibile il grigio sul grigio. La cerniera del l'applicazione di esempio si trova qui: http://www.yousendit.com/download/dVlwTXRkUnErV3hMWEE9PQ –