2012-07-04 3 views
2

Я создаю форму для поиска базы данных внутри своего приложения, и я хочу только добавить элемент управления как WHERE, если он включен. Лучший метод, который я нашел, - это набор флажков рядом с каждым набором элементов управления для их включения.Элемент управления флажком для включения других элементов управления в форме

enter image description here

Теперь я могу добавить логику к CheckedChanged каждому флажку, но у меня есть несколько различных типов controls- Textboxes, datepickers, выпадающие. Таким образом, их нужно было бы сделать индивидуально, что привело бы к довольно небольшому шаблону.

private void ChartCheckBox_CheckedChanged(object sender, EventArgs e) 
{ 
    ClassComboBox.Enabled = ChartCheckBox.Checked; 
} 

Есть ли более быстрый способ сделать это?

+1

+1 для первого вопроса, который я видел с изображением, делает вопрос очень легким для понимания. –

+1

@MichaelRodrigues Отвечая на вопросы в течение всего дня, вы оцениваете искусство создания хорошего вопроса. –

ответ

1

Я хотел бы сделать это с помощью composite control - это именно то, что вам нужно.

+0

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

+0

Это действительно опрятно - немного больше работы, но стоит того. –

1

Почему бы вам просто не включить предложение WHERE конкретного поля, если длина текста в этом поле равна> 0? например if (txtArtist.Text.Length > 0) { ...

Таким образом, вы можете избавиться от флажков и форма будет более самоподдерживающийся ...

+0

Это не просто текстовые поля. У меня есть флажки, comboboxes, datepickers. Если кто-то проверяет, а затем снимает флажок, они хотят искать * не * вещи, соответствующие этому описанию, или они вообще не проверяли его? –

+0

У меня был бы checkbox для "Is Not". Я обычно структурирую такие вещи как [Поле] [Is | Не | Содержит | и т. д.] [Значение] –

Смежные вопросы