Ich verwende den FolderBrowserDialog
, um den Benutzer einen Speicherort zum Speichern von Dateien und/oder einen neuen Ordner erstellen zu lassen. Es funktioniert zu 99% der Zeit, aber in einigen Fällen, wenn der Benutzer auf die Schaltfläche "Neuen Ordner erstellen" klickt, ändert sich der Name und klickt dann auf OK. Es wird eine Ausnahme ausgelöst, dass "Neuer Ordner" nicht existiert.Dateispeicherort nicht immer aktualisiert
Es scheint, dass der Code immer noch nach einem Ordner mit dem Namen "Neuer Ordner" sucht, obwohl der Benutzer ihn umbenannt hat. Was kann ich in meinem Code ändern, um dieses Problem zu beheben, damit die Dateien immer in dem Ordner gespeichert werden, den der Benutzer auswählt?
//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));
@CaiusJard - Haben Sie eine alternative Methode, um dem Benutzer die Möglichkeit zu geben, einen Speicher auszuwählen? Kation? –
BTW, verwenden Sie immer Path.Combine, um Ihre Dateipfade zu erstellen. – LarsTech
Sie haben keinen Code, um den Fall zu behandeln, in dem das Dialogergebnis nicht 'DialogResult.OK' ist. Könnte das Problem auftreten, wenn der Standardwert von' savelocation' wegen eines anderen 'DialogResult' verwendet wird? – 0liveradam8