如何更改comboBox
选项,具体取决于之前comboBox
的所选项目?我试过这样但似乎我做错了什么!
private void Form1_Load(object sender, EventArgs e)
{
// Virsraksts formai
this.Text = "Atpūtas vietas meklēšana";
// Izvelieties valodu
comboBox1.Items.Add("Latviešu");
comboBox1.Items.Add("Krievu");
comboBox1.Items.Add("Angļu");
comboBox1.Items.Add("Vācu");
// Izveleties novadu
comboBox2.Items.Add("Zemgale");
comboBox2.Items.Add("Latgale");
comboBox2.Items.Add("Kurzeme");
comboBox2.Items.Add("Vidzeme");
// Izveleties atputas veidu
comboBox3.Items.Add("Slēpošana");
comboBox3.Items.Add("Kalnā kāpšana");
comboBox3.Items.Add("Sporta aktivitātes");
comboBox3.Items.Add("Latvijas apskates objekti");
// Izveleties atputas vietu
if(comboBox2.Text == "Zemgale")
{
comboBox4.Items.Clear();
comboBox4.Items.Add("Jelgava");
}
// Izveleties atputas vietu
if (comboBox2.Text == "Latgale")
{
comboBox4.Items.Clear();
comboBox4.Items.Add("Daugavpils");
}
}
所以基本上选择comboBox2
项后,它不会在comboBox4
中显示任何内容。
答案 0 :(得分:1)
试试这个
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
// Izveleties atputas vietu
if(comboBox2.SelectedText == "Zemgale")
{
comboBox4.Items.Clear();
comboBox4.Items.Add("Jelgava");
}
// Izveleties atputas vietu
if (comboBox2.SelectedText == "Latgale")
{
comboBox4.Items.Clear();
comboBox4.Items.Add("Daugavpils");
}
}
答案 1 :(得分:0)
找到解决方案。不得不将if语句写入(comboBox2_SelectedIndexChanged)而不是Form_Load。
答案 2 :(得分:0)
尝试以下代码
public Form1()
{
InitializeComponent();
comboBox2.Items.Add("Zemgale");
comboBox2.Items.Add("Latgale");
comboBox2.Items.Add("Kurzeme");
comboBox2.Items.Add("Vidzeme");
comboBox2.SelectedIndexChanged += comboBox2_SelectedIndexChanged;
}
void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox2.Text == "Zemgale")
{
comboBox4.Items.Clear();
comboBox4.Items.Add("Jelgava");
}
if (comboBox2.Text == "Latgale")
{
comboBox4.Items.Clear();
comboBox4.Items.Add("Daugavpils");
}
}
答案 3 :(得分:0)
一些代码审查。
此代码更易于阅读,并且比多个if语句更易于管理。另外,不要重复清除组合框4,只要在每次在combobox2上更改所选索引时将其清除?
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox4.Items.Clear();
switch(comboBox2.SelectedText)
{
case "Zemgale":
comboBox4.Items.Add("Jelgava");
break;
case "Latgale":
comboBox4.Items.Add("Daugavpils");
break;
}
}