C# 使用.NET中的两个下拉列表操作第三个下拉列表

C# 使用.NET中的两个下拉列表操作第三个下拉列表,c#,.net,C#,.net,我正在使用C#在.NET中编程,我有3个下拉列表。根据前两个下拉列表的内容确定第三个下拉列表的值。用户无法更改第三个,它是自动填充的。让我们调用这些下拉列表A、B和C。如果A选择了任何值,C将自动获得X值。如果A为空且B选择了任何值,则C将获得Y值。现在,如果A被选择,则B被选择,则C的值应为X。因此,如果A有任何值,它将取代B中的值。您如何做到这一点?我已经对一些事件进行了编程,但我不知道如何进行编程,因此B需要在确定C的值之前检查A的签入内容。希望这听起来不会太混乱。我假设这是针对WinFo

我正在使用C#在.NET中编程,我有3个下拉列表。根据前两个下拉列表的内容确定第三个下拉列表的值。用户无法更改第三个,它是自动填充的。让我们调用这些下拉列表A、B和C。如果A选择了任何值,C将自动获得X值。如果A为空且B选择了任何值,则C将获得Y值。现在,如果A被选择,则B被选择,则C的值应为X。因此,如果A有任何值,它将取代B中的值。您如何做到这一点?我已经对一些事件进行了编程,但我不知道如何进行编程,因此B需要在确定C的值之前检查A的签入内容。希望这听起来不会太混乱。

我假设这是针对WinForms的,因为您没有指定。您应该为组合框使用
SelectedIndexChanged
事件。然后,每当用户从
comboBox1
comboBox2
中选择内容时,清除
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);
    }
}
  • 当用户从
    comboBox1
    中选择某个内容,并且
    comboBox2
    未选择值时,
    comboBox3
    将包含X
  • 当用户从
    comboBox2
    中选择某个内容,并且
    comboBox1
    未选择值时,
    comboBox3
    将包含Y
  • 当用户从
    comboBox1
    中选择某个内容,并且用户从
    comboBox2
    中选择了某个内容时,
    comboBox3
    将包含X
  • 当用户从
    comboBox2
    中选择某个内容,并且用户从
    comboBox1
    中选择了某个内容时,
    comboBox3
    将包含X

  • 在winforms、WPF、silverlight或web上?您可能希望包含一些在线程终止之前尝试过的示例代码。不过,在基本逻辑中,您可能希望在A或B更改时调用一个事件,然后在该事件中评估您的业务需求。我已经编写了一些事件,其中下拉列表的内容更改了第三个字段。这是我得到的。我只是想了解一些关于如何在事件中一个下拉列表可以检查另一个下拉列表的选中值的基本概念,仅此而已。1)在A和B上设置onchange以调用valueChanged()。2) 在valueChanged()中,检查A是否已填充,如果已填充,则将C设置为X。如果A未填充,而B已填充,则将C设置为Y。是的,我使用了与您在此处建议的内容相近的内容,它起了作用。谢谢你,你是个救命恩人。