2012-08-29 103 views
0

好吧,我决定创建我的第一个GUI地址簿,我一直在Youtube上跟随一个教程,允许我们创建一个地址簿,用于存储输入到文本框中的信息作为一个XML,但我一直有麻烦。地址簿C#GUI

因此,当表单加载时,它会检查名为“Address Book”的文件夹,如果它不存在,请创建它。然后检查一个文件是否在那里,如果没有,它创建它。但由于某些原因,该文件夹不会被创建,尽管它不存在,与xml文件相同。

private void Form1_Load(object sender, EventArgs e) 
{ 
    string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 
    if(!Directory.Exists(path + "\\Address Book")) 
     Directory.CreateDirectory(path + "\\Address Book"); 
    if (!File.Exists(path + "\\Address Book\\settings.xml")) 
     { 
      XmlTextWriter xW = new XmlTextWriter(path + "\\Address Book\\settings.xml", Encoding.UTF8); 
      xW.WriteStartElement("People"); 
      xW.WriteEndElement(); 
      xW.Close(); 
     } 

任何人都可以指出我的错误吗?原来的路径是SpecialFolder.ApplicationData,但我想使用桌面,因为查找文件夹只需点击一下即可。

+0

您是否发现异常? –

+2

您可能还想研究['Path.Combine'](http://msdn.microsoft.com/zh-cn/library/fyy7a5kt.aspx) –

回答

4

听起来很像Read/Write权限访问问题。

不要使用Desktop如文件/目录的写入目的地,但使用文件夹在您的OS User,所以应用过,是存在保证有相关权限。所以你在教程中看到的那些文件夹。特别是最新的WinOS在这类东西上非常僵硬。

如果它挫败你,每次浏览到这些文件夹,请在Desktop上创建一个link到该文件夹​​。快速和容易。

+0

因此,在公用文件夹内创建一个文件夹? – user1580598

+0

哦等等....我想我知道问题是什么...让我检查... – user1580598

+0

哦,上帝......我太笨了!我使用的是Visual Studio 2010的虚拟版本,并且文件不是在我的桌面上创建的原因是因为我在虚拟桌面上创建了它们并在我的计算机上搜索它们。所以对不起大家! – user1580598