2015-05-04 4 views
1

Я пытаюсь отобразить/скрыть 2 комбинированных поля в зависимости от выбранного типа события. Что программа должна делать: если выбрана выставка, GroupBox выставки будет видно, при этом имея клубный GroupBox скрытый (наоборот, если выбран клубная)Скрытие GroupBoxes в зависимости от выбранного индекса поле со списком

Код:.

namespace Promoter.Forms 

public partial class eventCreate : Form 
{ 
    public eventCreate() 
    { 
     InitializeComponent(); 

     //import enum value to combo box 
     cmbEventType.DataSource = Enum.GetValues(typeof(EventType)); 

    } 

    private void eventCreate_Load(object sender, EventArgs e) 
    { 

     if (cmbEventType.Text == "Exhibition") 
     { 
      grpClubbing.Visible = false; 

      grpExhibition.Visible = true; 
      //import enum values to combo box 
      cmbExhibitionVenue.DataSource = Enum.GetValues(typeof(ExhibitionVenue)); 

     } 
     else if (cmbEventType.Text == "Clubbing") 
     { 
      grpExhibition.Visible = false; 

      grpClubbing.Visible = true; 
      //import enum values to combo box 
      cmbClubbingVenue.DataSource = Enum.GetValues(typeof(ClubbingVenue)); 

     } 
    } 

ответ

0

Fixed у него просто не хватало логики.

Вместо

private void eventCreate_Load(object sender, EventArgs e) 

я должен был рассуждать и делать это на:

private void cmbEventType_SelectedIndexChanged(object sender, EventArgs e) 
1

Попробуйте использовать событие SelectedIndexChanged.

private void cmdEventType_SelectedIndexChanged(object sender, EventArgs e) { 
     ComboBox cb = (ComboBox)sender; 
     grpClubbing.Visible=false; 
     grpExibition=false; 
     switch (cb.SelectedText) { 
      case "Exhibition": 
       grpExhibition.Visible = true; 
       //import enum values to combo box 
       cmbExhibitionVenue.DataSource = Enum.GetValues(typeof(ExhibitionVenue)); 
       break; 
      case "Clubbing": 
       grpClubbing.Visible = true; 
       //import enum values to combo box 
       cmbClubbingVenue.DataSource = Enum.GetValues(typeof(ClubbingVenue)); 
       break; 
      default: 
       break; 
     } 
    } 
Смежные вопросы