2014-03-19 83 views
2

我在使用C#代碼時遇到了一個奇怪的問題。我正在嘗試使用folderBrowserDialog來檢索用戶選擇的文件夾的路徑。一旦用戶點擊一個按鈕確認選擇(選擇的路徑出現在「textBox1」中),如果找到文件夾位置,應該返回消息「建立連接」(如果找到的目錄/文件)或「找不到連接」(如果文件/目錄不存在)。Directory.Exists()總是返回false?

但是,出於某種奇怪的原因,代碼總是似乎在檢查目錄是否存在時返回false - 是的,它確實存在。我的應用程序請求管理員權限在它的清單文件中,因爲我認爲這可以解決問題,所以我仍然難以接受這個問題。

private void button1_Click(object sender, EventArgs e) 
{ 
    //BROWSE 
    folderBrowserDialog1.ShowDialog(); 
    textBox1.Text = folderBrowserDialog1.SelectedPath; 
} 

private void button2_Click(object sender, EventArgs e) 
{ 
    var path = textBox1.Text + @"\" + "connection.pss"; 
    //ESTABLISH CONNECTION 

    if (textBox1.TextLength > 0) 
    { 
    if (Directory.Exists(path)) 
    { 
     connectionstatus.Text = "CONNECTION ESTABLISHED!"; 
     //SET UP VARIABLES 
    } 

    if (!Directory.Exists(path)) 
    { 
     connectionstatus.Text = "NO CONNECTION FOUND!"; 
    } 
    } 
} 
+3

順便說一句:你可能想要考慮使用[Path.Combine](http://msdn.microsoft.com/en-us/library/system.io。 path.combine%28v = vs.110%29.aspx)而不是連接字符串以建立文件/文件夾的路徑。它不太容易出錯。 –

回答

10

該目錄不存在。該文件存在。 :)

改爲使用File.Exists

+0

傻逼我!謝謝邁克爾的指針。 –

+0

沒問題,@Kya。它有時需要另一隻眼睛。 –

2

Connection.pss不是目錄的一部分。嘗試只是檢查目錄或使用File.Exists()