使用.net中的两个下拉列表来操作第三个下拉列表

本文关键字:下拉列表 操作 三个 net 使用 两个 | 更新日期: 2023-09-27 18:17:21

我正在使用c#在。net中编程,我有3个下拉列表。根据前两个下拉框的内容决定第三个下拉框的值。用户不能更改第三个,它是自动填充的。我们称这些下拉框为A、B和C。如果A选择了任何值,C自动获得一个值X。如果A是空的,B有任何值被选中,C的值是y,如果A被选中,B也被选中,C的值应该是x,因此,如果A有任何值,它就取代了B中的值,怎么做呢?我已经编程了一些事件,但我不知道如何使它,所以B需要在确定c的值之前检查A的检入内容。希望这听起来没有太混乱。

使用.net中的两个下拉列表来操作第三个下拉列表

我假定这是针对WinForms的,因为您没有指定。您应该做的是为组合框使用SelectedIndexChanged事件。然后,每当用户从comboBox1comboBox2中选择某些内容时,清除comboBox3

this.comboBox1.SelectedIndexChanged += new EventHandler(this.comboBox1_SelectedIndexChanged);
this.comboBox2.SelectedIndexChanged += new EventHandler(this.comboBox2_SelectedIndexChanged);
// ...
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    // Choosing an item in comboBox1 will always replace the items in comboBox3
    this.comboBox3.Items.Clear();
    this.comboBox3.Items.Add(X);
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
    // Only fill comboBox3 if the user hasn't chosen an item in comboBox1
    if (this.comboBox1.SelectedItem == null)
    {
        this.comboBox3.Items.Clear();
        this.comboBox3.Items.Add(Y);
    }
}
  1. 当用户从comboBox1comboBox2中选择没有选择值的东西时,comboBox3将包含X
  2. 当用户从comboBox2comboBox1中选择没有选择值时,comboBox3将包含Y
  3. 当用户从comboBox1中选择了一些东西,并且用户已经从comboBox2中选择了一些东西,那么comboBox3将包含X
  4. 当用户从comboBox2中选择了一些东西并且用户从comboBox1中选择了一些东西时,那么comboBox3将包含X