-1

我未能用 csv 文件名填充组合框。我通过从 Microsoft Visual Studio 的工具箱中拖动来创建组合框。我将组合框的名称设置为 ChooseSampleSheet。

以下是我的代码:

private void ChooseSampleSheet_SelectedIndexChanged(object sender, EventArgs e)
{
  DirectoryInfo d = new DirectoryInfo(@"C:\Users\UniFlow\Desktop\Europa-master\user interface\Europa design Y\Experiemnt_Gui");//Assuming Test is your Folder
  FileInfo[] Files = d.GetFiles("*.csv"); //Getting Text files
  ChooseSampleSheet.DataSource = Files;
  ChooseSampleSheet.DisplayMember = "Name";
}

另外,我尝试了以下代码:

private string path = (@"C:\Users\UniFlow\Desktop\Europa-master\user interface\Europa design Y\Experiemnt_Gui");

private void ChooseSampleSheet_SelectedIndexChanged(object sender, EventArgs e)
{
  List<String> Configurations = Directory.EnumerateDirectories(path, "*.exe")
                                         .Select(p => Path.GetFileName(p))
                                         .ToList();
  ChooseSampleSheet.DataSource = Configurations;
}

但它们都不起作用。我的组合框中没有显示任何内容。我希望看到 csv 文件名。这样我之后就可以单击打开选定的文件(不在我的代码中显示)。

人们建议我改变事件。以下是我的更新。

private void form4_load(object sender, EventArgs e)
    {
        DirectoryInfo d = new DirectoryInfo(@"C:\Users\UniFlow\Desktop\Europa-master\user interface\Europa design Y\Experiemnt_Gui");//Assuming Test is your Folder
        FileInfo[] Files = d.GetFiles("*.csv"); //Getting Text files

        ChooseSampleSheet.DataSource = Files;
        ChooseSampleSheet.DisplayMember = "Name";
    }



    private void ChooseSampleSheet_SelectedIndexChanged(object sender, EventArgs e)
    {

    }

但是,组合框中仍然没有显示任何内容。

4

1 回答 1

0

我没有在您的代码中看到任何错误,但是我认为您的代码位于错误的位置。当您从下拉列表中选择某些内容时,SelectedIndexChanged 将被执行。由于您的下拉列表中没有填充 values ,因此您无法触发该事件。

将相同的代码放入 form_load 中,您将在那里看到值。

     DirectoryInfo d = new DirectoryInfo(@"C:\Users\UniFlow\Desktop\Europa-master\user interface\Europa design Y\Experiemnt_Gui");//Assuming Test is your Folder
    FileInfo[] Files = d.GetFiles("*.csv"); //Getting Text files

    ChooseSampleSheet.DataSource = Files;
    ChooseSampleSheet.DisplayMember = "Name";
于 2018-12-10T23:09:44.950 回答