cor de fundo combobox enquanto não habilitado
-
19-09-2019 - |
Pergunta
Eu tenho um combobox que eu Ativado = false. Quando esse for o caso, faz com que ele sombra para um cinza. Eu queria saber se havia uma maneira que eu poderia manter a cor de fundo caixa como cornsilk enquanto ele não está habilitado?
A situação é que eu tenho um formulário que eu vos aliviarei com dados quando um item é selecionado. Se o usuário seleciona para editar o registro eu permitir que o formulário para aceitar as alterações e uma vez que é principalmente caixas de texto Eu só alterar a propriedade somente leitura desses. Mas o combobox parece diferente assim que eu quero ver o que posso fazer para torná-lo ficar na mesma, como o resto da forma ...
Todas as idéias?
Solução
Eu simplesmente escondê-lo com uma caixa de texto sobre ele e definindo sua propriedade Visible para false. Em seguida, o usuário clique no botão Editar, você esconde o seu TextBox e mostrar a sua caixa de combinação com o seu Visible conjunto de propriedades como true.
Talvez você deseja atualizar sua propriedade TextBox.Text, definindo seu valor para o valor da propriedade ComboBox.SelectedItem no manipulador de eventos SelectedItemChanged ().
Vamos supor o seguinte:
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;
Em seguida, clique no botão Editar:
private void EditButton_Click(...) {
tb.Visible = false;
cb.Visible = true;
}
E fazer o seu valor de propriedade TextBox.Text seguir o seu SelectedItem:
private void ComboBox_SelectedIndexChanged(...) {
tb.Text = cb.SelectedItem.ToString;
}
E você só iria fazer o inverso do seu manipulador de eventos EditButton_Click () para trazer de volta o seu formulário no modo de somente leitura.
Outras dicas
Você pode considerar usando jQuery UI ou outros plugins, se a estética da forma são importantes. Você pode controlar olhar ea sensação inteiros com o CSS.
Escondendo combobox com caixa de texto é uma possibilidade, como sugerido por Will, mas então você terá que usar largura absoluta para a lista suspensa.