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