2011-02-12 190 views
1

目标:
自动显示而不是下拉列表中显示的“白色空间”从枚举房屋的第一个值显示第一个值下拉列表

问题:
不知道如何显示的第一个值您启动程序时的枚举值。

// Fullmetalboy

namespace Assignment1 
{ 
    public partial class MainForm : Form 
    { 
     public MainForm() 
     { 
      InitializeComponent(); 
     } 


     private AnimalManager _myAnimalManager; 



     private void CreateHousingOptions() 
     { 
      string[] housingTypeNames = Enum.GetNames(typeof(Housing)); 
      cmbHousing.Items.Clear(); 

      for (int rbIndex = 0; rbIndex < housingTypeNames.Length; rbIndex++) 
      { 
       cmbHousing.Items.Add(housingTypeNames[rbIndex]); 
      } 

     } 



    } 
} 

namespace Assignment1.HousingType 
{ 

    /// <summary> 
    /// 
    /// </summary> 
    public enum Housing 
    { 
     Stable, 
     Cage, 
     Indoor, 
     Outdoor 
    } 

} 

回答

0

使用此cmbHousing.SelectedItem = housingTypeNames [0];

private void CreateHousingOptions() 
     { 
      string[] housingTypeNames = Enum.GetNames(typeof(Housing)); 
      cmbHousing.Items.Clear(); 
     for (int rbIndex = 0; rbIndex < housingTypeNames.Length; rbIndex++) 
     { 
      cmbHousing.Items.Add(housingTypeNames[rbIndex]); 
     } 

     cmbHousing.SelectedItem = housingTypeNames[0]; 
    } 
1

既然你已经存入您的组合中的所有枚举名字,你只需要使用它的SelectedIndex属性,以选择第一项(如果存在的话):

private void CreateHousingOptions() 
{ 
    cmbHousing.Items.Clear(); 
    foreach (string housingTypeName in Enum.GetNames(typeof(Housing))) { 
     cmbHousing.Items.Add(housingTypeName); 
    } 
    if (cmbHousing.Items.Count > 0) { 
     cmbHousing.SelectedIndex = 0; 
    } 
} 
0
cmbHousing.SelectedIndex = 0; 

cmbHousing.SelectedItem = housingTypeNames[0]; 
相关问题