Цвет фона поля со списком, пока он не включен

StackOverflow https://stackoverflow.com/questions/2419639

  •  19-09-2019
  •  | 
  •  

Вопрос

У меня есть поле со списком, в котором включено = false.В этом случае цвет становится серым.Мне было интересно, есть ли способ сохранить цвет фона флажка кукурузным, пока он не включен?

Ситуация такова, что у меня есть форма, которую я обновляю данными при выборе элемента.Если пользователь выбирает редактирование записи, я разрешаю форме принимать изменения, и, поскольку это в основном текстовые поля, я просто изменяю их свойство readonly.Но поле со списком выглядит по-другому, поэтому я хочу посмотреть, что я могу сделать, чтобы оно оставалось таким же, как и остальная часть формы...

Есть идеи?

Это было полезно?

Решение

Я бы просто скрыл его с помощью TextBox и установил для его свойства Visible значение false.Затем вы, ваш пользователь, нажимаете кнопку «Редактировать», вы скрываете свой TextBox и показываете свой ComboBox со свойством Visible, установленным в true.

Возможно, вы хотите обновить свойство TextBox.Text, установив для него значение свойства ComboBox.SelectedItem в обработчике событий SelectedItemChanged().

Предположим следующее:

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;

Затем нажмите кнопку «Изменить»:

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

И сделайте так, чтобы значение свойства TextBox.Text соответствовало вашему SelectedItem:

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

И вам нужно будет сделать только обратную операцию обработчика событий EditButton_Click(), чтобы вернуть форму в режим только для чтения.

Другие советы

Вы можете рассмотреть возможность использования пользовательского интерфейса Jquery или других плагинов, если важна эстетика формы.Вы можете контролировать весь внешний вид с помощью CSS.

Скрытие поля со списком с помощью текстового поля возможно, как предложил Уилл, но тогда вам придется использовать абсолютную ширину для раскрывающегося списка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top