【问题标题】:how to open listview window explorer in listview control如何在listview控件中打开listview窗口资源管理器
【发布时间】:2013-01-11 12:36:30
【问题描述】:

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

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 但它现在知道我该怎么做

【问题讨论】:

    标签: c# winforms


    【解决方案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);
    }
    

    【讨论】:

    • 是的,完全正确........我像 if(pathdoubleClicked==directory.getdirectories(folderbrowser.getPath).tostring()) 那样做,然后这样做..并且认真地表明了这个声明调试时的 dir 路径:P 但现在它正在工作我糟糕的编码啊...无论如何谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多