如何让一个列表框根据第一个选择显示数据?

How to have one list box present data based on selection of first one?

我正在制作一个带有 2 个列表框的 windows 表单。我的计划是让用户可以从两个列表框中选择 add/edit/remove。当用户从第一个列表中选择一个选项(选择汽车名称,即马自达 3)时,第二个列表框将显示将根据第一个选择输入的所有数据(我的想法是保留服务记录每辆车;此框也将有 add/edit/remove 的选项)。我应该如何让第二个列表框根据第一个列表框的选择显示项目?

多维数组是执行此操作的最佳方法吗?我还计划有一个图片框,可以显示用户可以上传的图片,并且可以根据第二个列表框的选择进行查看。

谢谢

能否请您提供您目前拥有的代码?在不知道的情况下,我会说您可以通过第一个列表框中的更改调用一个函数

`private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
     if(listBox1.Text == "mazda 3")
         //do something here with listbox2
 }` 

我不太清楚你到底想做什么,但据我了解,你有一份汽车清单,对于该清单上的每辆车,都有一份服务记录清单?

如果是这种情况,您可以这样做:

public partial class Form1 : Form
{

    List<string> cars = new List<string>()
    {
        "Mazda 3",
        "Mazda 6",
        "VW Polo",
        "VW Golf"
    };

    List<string> Mazda3 = new List<string>()
    {
        "12-04-2008",
        "14-03-2010",
        "20-05-2012",

    };

    List<string> Mazda6 = new List<string>()
    {
        "12-08-2012",
        "14-07-2014",
        "03-09-2016",
    };

    List<string> VWPolo = new List<string>()
    {
        "Some Date",
        "Some Date",
        "Some Date",
    };

    List<string> VWGolf = new List<string>()
    {
        "Some Date",
        "Some Date",
        "Some Date",
    };

    List<List<string>> ServiceLists = new List<List<string>>();


    public Form1()
    {
        InitializeComponent();

        ServiceLists.Add(Mazda3);
        ServiceLists.Add(Mazda6);
        ServiceLists.Add(VWPolo);
        ServiceLists.Add(VWGolf);

        Cars_listBox.DataSource = cars;
    }

    private void Cars_listBox_SelectedIndexChanged(object sender, EventArgs e)
    {
        ServiceRecords_listBox.DataSource = ServiceLists[Cars_listBox.SelectedIndex];
    }
}

在此示例中,列表框是在设计器中创建的