Ничего не показывает, когда я пытался заполнить Combobox именами файлов.csv

Мне не удалось заполнить выпадающий список именами файлов 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)
    {

    }

Тем не менее, в выпадающем списке ничего не видно.

1 ответ

Решение

Я не вижу ничего плохого в вашем коде, но думаю, что ваш код не в том месте. SelectedIndexChanged будет выполняться, когда вы выбираете что-то из выпадающего списка. Поскольку ваш раскрывающийся список не был заполнен значениями, вы не можете запустить это событие.

Поместите тот же код в 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";
Другие вопросы по тегам