Как сделать мой второй groupbox в моей панели видимым и иметь возможность использовать мои элементы управления в нем, делая groupbox по умолчанию и его элемент управления скрытыми?
У меня есть панель с тремя групповыми ящиками. Каждый groupbox имеет свой элемент управления(combobox, метки, текстовые поля и т.д.). Groupbox1 используется по умолчанию при загрузке панели. Combobox с двумя элементами определяет, когда groupbox2 становится видимым, а groupbox1 исчезает, чтобы пользователь мог ввести в него определенную информацию.
от свойства groupbox1: видимое = "истинный" groupbox2: видимое = "ложных" groupbox3: видимое = "ложных"
Мое намерение таково,
1) пункт один ничего не делает при выборе, так как по умолчанию groupbox1 и его элементы управления уже видны.
2) Пункт второй делает groupbox1 и его элементы управления скрытыми, а groupbox2 и его элементы управления видимыми. Combobox с аналогичной функцией находится в groupbox2 exist, чтобы включить переключатель обратно в groupbox1, если выбран пункт два.
Предполагается, что все это происходит во время выполнения.
Существует третий groupbox3, который запускается кнопкой на панели. Я намерен сделать groupbox3 видимым, в то время как все на панели будет выглядеть тусклым, пока не будет нажата кнопка закрытия groupbox3. я хочу иметь возможность вносить изменения в метки в groupbox1 и groupbox2, используя элемент управления combobox в groupbox3.
Моя проблема в том, что
1)Как сделать так, чтобы groupbox1 или groupbox2 на панели казались блеклыми и не полностью скрытыми,в то время как groupbox3 всплывает как messagebox, а также когда я нажимаю кнопку закрытия на groupbox3, groupbox3 закрывается, а groupbox1 или groupbox2 снова становятся видимыми
Что я уже пробовал:
private void panel1_Paint(object sender, PaintEventArgs e) { } private void cb1_SelectedIndexChanged(object sender, EventArgs e) { gb1.Visible = cb1.SelectedIndex == 0; switch (cb1.SelectedIndex) { case 0: gb1.Visible = true; gb2.Visible = false; break; case 1: gb2.Visible = true; gb1.Visible = false; break; } } private void cb2_SelectedIndexChanged(object sender, EventArgs e) { gb2.Visible = cb2.SelectedIndex == 0; switch (cb1.SelectedIndex) { case 0: gb2.Visible = true; gb1.Visible = false; break; case 1: gb1.Visible = true; gb2.Visible = false; break; } } private void bt1_Click(object sender, EventArgs e) { gb3.Show(); gb1.Hide(); gb2.Hide(); } private void bt2_on_gb3_Click(object sender, EventArgs e) { gb3.Hide(); gb1.Show(); gb2.Show(); }