显示第一个值下拉列表
问题描述:
目标:
自动显示而不是下拉列表中显示的“白色空间”从枚举房屋的第一个值显示第一个值下拉列表
问题:
不知道如何显示的第一个值您启动程序时的枚举值。
// 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
}
}
答
使用此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];
}
答
既然你已经存入您的组合中的所有枚举名字,你只需要使用它的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;
}
}
答
cmbHousing.SelectedIndex = 0;
或
cmbHousing.SelectedItem = housingTypeNames[0];