C# 如何在listview控件中打开listview窗口资源管理器

C# 如何在listview控件中打开listview窗口资源管理器,c#,winforms,C#,Winforms,我有一个运行完全正常的listview窗口浏览器。我通过文件夹浏览器打开文件夹,该特定目录中的文件和文件夹通过使用在listview中打开 PopulateListView(path) 现在,在我的鼠标双击事件中,我打开一个特定的文件和文件夹,它会打开该文件,但当它打开目录时,会弹出一个新窗口。我希望在listview控件中打开该目录…此场景的代码为 private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)

我有一个运行完全正常的listview窗口浏览器。我通过文件夹浏览器打开文件夹,该特定目录中的文件和文件夹通过使用在listview中打开

PopulateListView(path)
现在,在我的鼠标双击事件中,我打开一个特定的文件和文件夹,它会打开该文件,但当它打开目录时,会弹出一个新窗口。我希望在listview控件中打开该目录…此场景的代码为

private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            string pathdoubleClicked = listView1.FocusedItem.Tag.ToString();
          PopulateListView(pathdoubleClicked);

            Process.Start(pathdoubleClicked);
             simpleStack.Push(pathdoubleClicked);
        }

现在我想用if-else来做,比如如果路径是drectory,那么就转到populatelistview方法其他明智的过程。开始吧,但它现在可以工作了。根据我的理解,我该怎么做呢?如果路径是一个目录,你想双击来显示它的内容。如果它是一个文件,你就要打开它

因此,您只需执行以下操作:

private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
    string pathdoubleClicked = listView1.FocusedItem.Tag.ToString();

    if (System.IO.Directory.Exists(pathdoubleClicked))
    {
        PopulateListView(pathdoubleClicked);
    }
    else
    {
        Process.Start(pathdoubleClicked);
    }

    // ?
    simpleStack.Push(pathdoubleClicked);
}

是的,正是…….我这样做就像(pathdoubleClicked==directory.GetDirectory(folderbrowser.getPath).tostring())然后那样做..说真的,这个语句在调试时显示了dir的路径:P,但现在它工作了,我糟糕的编码啊…无论如何,谢谢