如何使一个列表框根据第一个列表框的显示数据?

时间:2018-11-28 20:17:06

标签: c# winforms listbox picturebox

我正在制作一个带有2个列表框的Windows窗体。我的计划是让用户可以选择从两个列表框中添加/编辑/删除。当用户从第一个列表中选择一个选项(汽车名称的选择,即马自达3)时,第二个列表框将显示基于第一个选项输入的所有数据(我的想法是保留以下记录:每辆车;此框还可以选择添加/编辑/删除)。我应该如何根据第一个列表框的选择使第二个列表框显示项目?

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

谢谢

2 个答案:

答案 0 :(得分:0)

请提供您到目前为止的代码?不知不觉中,我会说您可以通过第一个列表框中的更改来调用一个函数

in_array

答案 1 :(得分:-1)

我不清楚您实际上想做什么,但是据我了解,您有汽车清单,并且该清单上的每辆汽车都有服务记录清单?

在这种情况下,您可以执行以下操作:

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];
    }
}

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