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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top