如何从组合框c#中获取值?
我对C#有点陌生,所以在这件事上请容忍我 好的,右键单击组合框,选择编辑项,然后可以向组合框添加字符串。我的问题是,如何为这些字符串设置值?我想使用“if”语句来说明当前是否选择了某个字符串 所以我有5个组合框。选中复选框时,所有复选框都会显示“已满”。如果其中一个值更改为其他值,则我希望选中另一个复选框。但是由于组合框中的字符串没有值,我不知道如何使用它们 重申一下,我如何为组合框中的字符串设置值,以便在“if”语句中使用它们如何从组合框c#中获取值?,c#,visual-studio-2010,combobox,checkbox,C#,Visual Studio 2010,Combobox,Checkbox,我对C#有点陌生,所以在这件事上请容忍我 好的,右键单击组合框,选择编辑项,然后可以向组合框添加字符串。我的问题是,如何为这些字符串设置值?我想使用“if”语句来说明当前是否选择了某个字符串 所以我有5个组合框。选中复选框时,所有复选框都会显示“已满”。如果其中一个值更改为其他值,则我希望选中另一个复选框。但是由于组合框中的字符串没有值,我不知道如何使用它们 重申一下,我如何为组合框中的字符串设置值,以便在“if”语句中使用它们 编辑:这是一个Windows窗体。嗯,最简单的方法是: Combo
编辑:这是一个Windows窗体。嗯,最简单的方法是:
Combobox.Items.Add("New string");
更复杂的方法是创建一个数组或字符串列表,并将它们作为一个数据源一次性添加:
var listOfStrings = new List<string>();
Combobox.Datasource = listOfStrings;
var listOfStrings=new List();
Datasource=listOfStrings;
无论您选择何种方式,都将编辑组合框项的集合
PS,用于Winforms。检查文本属性
text
假设您的组合框位于cmb[5]中,并且您的复选框为chk:
private ComboBox[] cmb;
private void init()
{
cmb = new ComboBox[5];
for (int i = 0; i < 5; i++)
{
ComboBox c = new ComboBox();
Controls.Add(c);
// TODO: Populate c with the relevant data
c.TextChanged += new EventHandler(c_TextChanged);
}
chk.CheckedChanged += new EventHandler(chk_CheckedChanged);
}
void chk_CheckedChanged(object sender, EventArgs e)
{
foreach (ComboBox c in cmb)
c.Text = "Full";
}
void c_TextChanged(object sender, EventArgs e)
{
foreach (ComboBox c in cmb)
{
if (c.Text != "Full") return;
}
chk.Checked = false;
}
这是在Windows窗体、WPF或其他格式中吗?你的意思是你想要一个与组合框中的每个字符串/标签相关联的值吗?这是我想要的基本布局。复选框1将所有组合框更改为“完整”。因此,如果组合框1、2、3、4和5都显示为完整,则选中复选框1。如果我将其中一个值更改为“空”,则我希望checkbox1取消选中,checkbox2进行检查。我喜欢您这样做,但您需要GetEnumerator的公共定义。@cursedsourge,我不知道如何需要
GetEnumerator
?如果有误解,我在回答中添加了中巴的声明。它实际上只是一个组合框数组。老实说,我也不知道。我得到的错误是“foreach”语句。
private void init()
{
cmb = new ComboBox[5];
cmb[0] = comboBox1;
cmb[1] = comboBox2;
cmb[2] = comboBox3;
cmb[3] = comboBox4;
cmb[4] = comboBox5;
foreach (ComboBox c in cmb)
c.TextChanged += new EventHandler(c_TextChanged);
chk.CheckedChanged += new EventHandler(chk_CheckedChanged);
}