[英]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.