0

我有一个工作正常的列表视图窗口浏览器。我通过文件夹浏览器打开文件夹,该特定目录中的文件和文件夹通过使用在列表视图中打开

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 方法其他明智的 process.start 但它现在工作任何想法我该怎么做

4

1 回答 1

1

据我了解,如果路径是目录,您希望在双击时显示其内容。如果它是一个文件,你想打开它。

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

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);
}
于 2013-01-11T12:41:18.210 回答