2011-05-18 31 views
3

我想從我的WinForms的ToolStrip菜單訪問我的「我的文檔」文件夾中。我正在用一個XML文件填充ToolStrip。我在我的XML文件中存儲Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)。這是拋出一個錯誤。約Environment.SpecialFolder

任何人都可以請幫助?

這是我的XML文件的一部分。

<item name="MSPowerpoint" action="%PROGRAMFILES%\Microsoft Office\office11\POWERPNT.exe" parameters="/n"/> 
<item name="MyDocuments" action="Environment.GetFolderPath(Environment.SpecialFolder.Personal" parameters=""/>  
<item name="" text="-" /> 

這是啓動應用程序的方法。

public void startapp(string s) 
    { 
     ProcessStartInfo pst = new ProcessStartInfo(); 

     pst.UseShellExecute = true; 
     pst.FileName = s; 
     Process.Start(pst);    
    } 

這是我收到的錯誤.. 「系統找不到指定的文件。」

+7

還請後的錯誤的詳細信息(至少錯誤消息)。 – 2011-05-18 07:07:50

+0

[tinyurl.com/so-hints](http ://tinyurl.com/so-hints) – 2011-05-18 07:51:58

回答

4

在開始進程之前,您需要找到一種方法來評估路徑:由於操作系統正在文字中,並且正在查找名爲'Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)'的目錄或文件,因此您收到錯誤'找不到指定的文件' '而不是這個代表的實際目錄。

某些類別的編碼可能會奏效這樣的,而不是把Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)在XML中,放在一個字符串表示的值 - 例如'#MYDOCUMENTS' - 相反,當創建ToolStrip時,您可以提取這些值。

// For example: 

string fileName = GetFileNameFromXml(); // Or however you get it 
if (fileName == "#MYDOCUMENTS") 
{ 
    fileName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 
} 

startapp(fileName); 
+0

三江源非常 我在method.it評估Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)完美地現在工作的罰款。 – Lilly 2011-05-18 11:04:24

0

你會得到什麼錯誤?似乎你已經丟失在XML文件

行動= 「Environment.GetFolderPath(Environment.SpecialFolder.Personal」