2011-05-18 59 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”