我想要一个包含12个选择的下拉列表。
我发现ComboBox是我所需要的(如果有更好的控件,请告诉我)。
我使用VS2012将组合框拖放到面板中,然后单击组合框上显示的向左箭头。以下向导显示:
如您所见,我只能键入选择的名称,但不能输入其值。
我的问题是如何获得这些选择的价值?
我构建了一个与选择长度相同的数组,因此,当用户选择任何选择时,我将获得该选择的位置并从该数组中获取值。
有没有更好的办法?
您需要使用数据表,然后从中选择值。例如)
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Description", typeof(string));
dt.Load(reader);
//Setting Values
combobox.ValueMember = "ID";
combobox.DisplayMember = "Description";
combobox.SelectedValue = "ID";
combobox.DataSource = dt;
然后,您可以使用以下方法填充数据表:
dt.Rows.Add("1","ComboxDisplay");
在这里,DisplayMember(下拉列表项)是Descriptions
,值是ID
。
您需要在组合框上包含一个“ SelectedIndexChanged”事件(如果使用VS,则在“设计模式”下双击该控件)以获取新值。就像是:
private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
int ID = Combobox.ValueMember;
string Description = ComboBox.DisplayMember.ToString();
}
然后,您可以在代码的其余部分中使用变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句