Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# winforms中的C listview不显示添加的项_C#_Winforms_Listview - Fatal编程技术网

C# winforms中的C listview不显示添加的项

C# winforms中的C listview不显示添加的项,c#,winforms,listview,C#,Winforms,Listview,我试图从C语言中的“打开文件”对话框中选择一个目录,但当我实际将项目添加到列表视图时,它不会显示。这是我到目前为止的代码。。。我错过什么了吗 private void btnChoose_Click(object sender, EventArgs e) { try { FolderBrowserDialog folderPicker = new FolderBrowserDialog(); listLeft

我试图从C语言中的“打开文件”对话框中选择一个目录,但当我实际将项目添加到列表视图时,它不会显示。这是我到目前为止的代码。。。我错过什么了吗

private void btnChoose_Click(object sender, EventArgs e)
    {
        try
        {
            FolderBrowserDialog folderPicker = new FolderBrowserDialog();
            listLeft.View = View.Details;
            if (folderPicker.ShowDialog() == DialogResult.OK)
            {
                DirectoryInfo di = new DirectoryInfo(folderPicker.SelectedPath);
                FileInfo[] files = di.GetFiles();
                DirectoryInfo[] directories = di.GetDirectories();

                foreach (DirectoryInfo directory in directories)
                {
                    listLeft.Items.Add("Directory " + directory.Name);
                }
                foreach (FileInfo file in files)
                {
                    listLeft.Items.Add(file.Name);
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("An error occurred: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
编辑::: 添加了此屏幕截图和说明。。。
我假设listLeft是您的ListView。您需要添加如下子项:

            foreach (DirectoryInfo directory in directories)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.SubItems.Add("Directory " + directory.Name);
                listLeft.Items.Add(lvi);
            }
            foreach (FileInfo file in files)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.SubItems.Add(file.Name);
                listLeft.Items.Add(lvi);
            }
编辑:尝试以下操作:


您的问题状态为“winforms中的listview”

但是System.Windows.Forms.ListBox没有View属性,因此您的代码行

listLeft.View = View.Details;
当我试图复制时不编译

您是否指的是WPF列表框?
在这种情况下,您能否向我们展示更多代码,尤其是您的数据绑定?

它应该添加到列表框中-如果目录和文件对象中有对象。。。尝试在每个方法中设置断点,看看会发生什么。如果未触发断点,则Get方法有问题…

显示输出请忽略此项。所以需要更多的屏幕截图。listView不是listBox,请删除答案这肯定是listView这仍然只是产生相同的输出。。。没有可见的添加。请看我的编辑。。我添加了一个屏幕快照,如果先显式设置folderPicker的RootFolder属性,会有什么不同吗?如果你附加了一个调试器,你能看到它正确地循环你的目录结构吗?是的,它似乎工作得很好。。。。我只是不知道为什么我看不到实际添加的项目。奇怪的是,它存在于代码中,但在WinForm中不可见。如果从表单中删除列表框并重新添加,这会有什么不同吗?我认为它设置了一个你不想要的视觉属性。如果检查listLeft.Items属性,它是否按照调试器中的预期填充?是否已将列添加到ListView中?一切正常。它只是不显示项目。正在将其添加到listview中。只是不知道为什么我不能看到他们的最终结果
listLeft.View = View.Details;