簡體   English   中英

文件保存位置並非總是更新

[英]File Save Location Not Always Updated

我正在使用FolderBrowserDialog讓用戶選擇一個位置來保存文件和/或創建一個新文件夾。 它可以在99%的時間內正常工作,但是在某些情況下,當用戶單擊“創建新文件夾”按鈕,更改名稱,然后單擊“確定”時,將引發異常,提示“新文件夾”不存在。

似乎該代碼仍在尋找名稱為“ New Folder”的文件夾,即使用戶已將其重命名。 為了解決此問題,我可以在代碼中進行哪些更改,以便始終將文件保存在用戶選擇的文件夾中?

//Declaring Filename
FolderBrowserDialog folderDlg = new FolderBrowserDialog();
folderDlg.ShowNewFolderButton = true;
folderDlg.Description = "Choose the location to save Files";
DialogResult result = folderDlg.ShowDialog();
if (result == DialogResult.OK)
{
    savelocation = folderDlg.SelectedPath;
}

// Choose whether to write header. Use EnableWithoutHeaderText instead to omit header.
dataGridExport.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;
// Select all the cells
dataGridExport.SelectAll();
// Copy selected cells to DataObject
DataObject dataObject = dataGridExport.GetClipboardContent();
// Get the text of the DataObject, and serialize it to a file
File.WriteAllText(savelocation + "\\ExcelExport.csv", dataObject.GetText(TextDataFormat.CommaSeparatedValue));

這不太可能是代碼中的錯誤; 用戶在FBD內創建一個新文件夾,FBD將路徑捕獲為...\\new folder ,用戶再次單擊它(以對其進行重命名),對其進行重命名,然后不再單擊它(或單擊它並再次打開) ),以便FBD意識到名稱已更改。 不是你的錯/問題; PEBKAC / PICNIC 使用FBD的每個Windows軟件都會遇到此問題。

一方面,FBD是一件可怕的事情,請避免使用它(您不能總是將路徑快速粘貼到其中。要使用FBD,您必須費力地在許多目錄中找到自己的方式。 FBD選擇的初始目錄被重置為一些默認值/接近用戶上次選擇的位置等)

改用OpenFileDialog並同時提示用戶輸入要保存的文件名,或者看看SO問題,例如如何配置OpenFileDialog選擇文件夾? 看人們做了些什么來克服FBD的局限性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM