2012-08-29 38 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