簡體   English   中英

打開在列表框中選擇的pdf文件

[英]open pdf file selected in listbox

我有所有目錄(2014、2012),以及列表框2中每個選定文件夾的文件(.pdf)。

目錄(2012,2013)和文件(pdf)

我通過此代碼獲取目錄

if (FBD.ShowDialog() == DialogResult.OK)
{
    listBox1.Items.Clear();
    DirectoryInfo[] diri_info = newDirectoryInfo(FBD.SelectedPath).GetDirectories();
    foreach (DirectoryInfo diri in diri_info)
    {
        listBox1.Items.Add(diri);
    }

我通過此代碼獲取文件

private void button1_Click(object sender, EventArgs e)
{
    if (listBox1.SelectedIndex >= 0)
    {
        DirectoryInfo dirictory_choisis = (DirectoryInfo)listBox1.SelectedItem;
        FileInfo[] files = dirictory_choisis.GetFiles();
        listBox2.Items.Clear();
        foreach (FileInfo file in files)
        {
            listBox2.Items.Add(file);
        }
    }
    else
    {
        MessageBox.Show("selectioner un dossier");
    }

}

現在如何打開所選文件(.pdf)?

我使用此代碼,但不起作用(拋出未找到的異常文件)

private void listBox2_Click(object sender, EventArgs e)  
{      
    FileInfo file = (FileInfo) listBox2.SelectedItem;  
    Process.Start(file.Name);            
}  

您的代碼中存在語法錯誤:“ newDirectoryInfo”

順便說一句,file.Name僅返回名稱(不包括路徑)。 您應該將該行替換為:

Process.Start(file.FullName);

所以listBox2_Click應該像這樣:

private void listBox2_Click(object sender, EventArgs e)
    {
        FileInfo file = (FileInfo)listBox2.SelectedItem;
        Process.Start(file.FullName);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM