Цвет фона поля со списком, пока он не включен
-
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.
Скрытие поля со списком с помощью текстового поля возможно, как предложил Уилл, но тогда вам придется использовать абсолютную ширину для раскрывающегося списка.