我对C#有点新鲜,所以请耐心等待这个......
好的,所以你右键单击一个comboBox,选择编辑项目,你可以添加字符串到comboBox。我的问题是,如何设置这些字符串的值?我想使用'if'语句来说明当前是否选择了某个字符串。
所以我有5个组合框。选中复选框后,所有复选框都会显示“完整”。如果其中一个值更改为其他值,则我需要选中其他复选框。但由于组合框中的字符串没有值,我无法弄清楚如何使用它们。
重申一下,我如何设置组合框中字符串的值,以便在'if'语句中使用它们。
编辑:这是一个Windows窗体。
答案 0 :(得分:0)
嗯,最简单的方法:
Combobox.Items.Add("New string");
更复杂的方法是创建一个数组或字符串列表,并将它们作为数据源一次性添加:
var listOfStrings = new List<string>();
Combobox.Datasource = listOfStrings;
无论您选择何种方式,您都将编辑ComboBox项目的集合。
PS那是Winforms。
答案 1 :(得分:0)
检查Text
属性的文本。
假设你的ComboBox在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;
}
或者,init可以是:
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);
}