c# - 当第一个组合框获得某个值时自动更新组合框

标签 c# winforms combobox

我有两个组合框。我在第一个组合框中插入一个值,现在我希望我的第二个组合框根据第一个组合框更新其值。我应该怎么做?

最佳答案

处理 SelectedIndexChanged第一个 ComboBox 的事件,然后根据 SelectedItem 更新第二个组合框第一个 ComboBox 的值。

一个简单的例子(检索 SelectedItem 时没有错误处理):

public partial class Form1 : Form
{
    private string[] comboBox1Range = new[] { "A", "B", "C", "D" };
    private string[] comboBox2RangeA = new[] { "A1", "A2", "A3", "A4" };
    private string[] comboBox2RangeB = new[] { "B1", "B2", "B3", "B4" };
    private string[] comboBox2RangeC = new[] { "C1", "C2", "C3", "C4" };
    private string[] comboBox2RangeD = new[] { "D1", "D2", "D3", "D4" };

    public Form1()
    {
        InitializeComponent();
        comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
        comboBox1.Items.AddRange(comboBox1Range);
    }

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string selectedValue = comboBox1.SelectedItem as string;

        switch (selectedValue)
        {
            case "A":
                comboBox2.Items.Clear();
                comboBox2.Items.AddRange(comboBox2RangeA);
                break;
            case "B":
                comboBox2.Items.Clear();
                comboBox2.Items.AddRange(comboBox2RangeB);
                break;
            case "C":
                comboBox2.Items.Clear();
                comboBox2.Items.AddRange(comboBox2RangeC);
                break;
            case "D":
                comboBox2.Items.Clear();
                comboBox2.Items.AddRange(comboBox2RangeD);
                break;
        }
    }
}

关于c# - 当第一个组合框获得某个值时自动更新组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3528842/

相关文章:

c# - 在母版页中声明 session 字典

c# - mySQL .NET API - 从表中删除所有数据

c# - 如何在 checkedListBox C# 中跟踪支票?

c# - 仅更改月份和年份的 DateTimePicker

c# - Winforms中的Tag属性有什么用?

wpf - 您可以将非字符串标记值放入 xaml 声明中的组合框吗?

c# - 当我在组合框中选择一个项目时如何防止 TextChanged 事件?

c# - WPF 组合框 : click outside of popup suppress mouse click

c# - 让我的游戏重新开始 C#

c# - 我需要的 JSON.net 格式输出