Pregunta

Tengo un cuadro combinado que he Enabled = false. Cuando ese es el caso, hace que la sombra de un color gris. Me preguntaba si había una manera de que pudiera mantener el color de fondo casilla como cornsilk si bien no está habilitado?

La situación es que tengo una forma que voy a actualizar con los datos cuando se selecciona un elemento. Si el usuario selecciona para editar el registro habilito la forma de aceptar los cambios y ya que es principalmente cuadros de texto que acaba de cambiar la propiedad de sólo lectura de esos. Pero el cuadro combinado se ve diferente, así que quiero ver lo que puedo hacer para que se quede el mismo como el resto de la forma ...

¿Alguna idea?

¿Fue útil?

Solución

Me simplemente esconderlo con un cuadro de texto sobre ella y estableciendo su propiedad visible en false. A continuación, el usuario hace clic en el botón Editar, se oculta su cuadro de texto y mostrar su cuadro combinado con su propiedad Visible establecida en true.

Tal vez desea actualizar su propiedad TextBox.Text estableciendo su valor al valor de la propiedad en el ComboBox.selectedItem SelectedItemChanged controlador de eventos ().

Supongamos lo siguiente:

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;

A continuación, haga clic en el botón Editar:

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

y hacer que su valor de la propiedad TextBox.Text siga su SelectedItem:

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

Y sólo se haría el reverso de su EditButton_Click controlador on () evento para traer de vuelta el formulario en modo de sólo lectura.

Otros consejos

Es posible considerar el uso de la interfaz de usuario jQuery u otros complementos si la estética de la forma son importantes. Se puede controlar toda apariencia con el CSS.

cuadro combinado de ocultación con el cuadro de texto es una posibilidad sugerida por Will, pero entonces usted tendrá que usar ancho absoluto de la lista desplegable.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top