using (var openFileDialog1 = new OpenFileDialog())
{
openFileDialog1.Reset();
if (!string.IsNullOrEmpty(ExcelFilePath))
{
string fileName = Path.GetFileName(ExcelFilePath);
string fileExt = Path.GetExtension(ExcelFilePath);
//Avoid "you can't open this location using this program file" dialog
//if there is a file name in the path strip it)
if (!string.IsNullOrEmpty(fileName))
initialDirectory = Path.GetDirectoryName(ExcelFilePath);
//if not let it be
else
initialDirectory = ExcelFilePath;
openFileDialog1.InitialDirectory = initialDirectory;
}
else
openFileDialog1.InitialDirectory = "c:\\";
openFileDialog1.Filter = "Excel files (*.xls or *.xlsx)|*.xls;*.xlsx";
//openFileDialog1.Filter = "xls files (*.xls)|*.xls|xlsx files(*.xlsx)|.xlsx";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = false;
openFileDialog1.CheckFileExists = true;
openFileDialog1.CheckPathExists = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
var browseSelectionMade = BrowseSelectionMade;
if (browseSelectionMade!=null)
browseSelectionMade(this, new DataEventArgs<string>(openFileDialog1.FileName));
}
}
Indipendentemente dall'impostazione di RestoreDirectory su true, passerò sempre alla directory LAST used se la directory iniziale è impostata su un percorso che non esiste. Dov'è l'ultima directory utilizzata salvata da OpenFileDialog? E c'è un modo per ignorare questo comportamento? (ad esempio, desidero sempre impostarlo su C: \ se la directory iniziale non esiste?)OpenFileDialog percorso predefinito
Grazie per entrambe le vostre risposte, contrassegnerò la vostra risposta come accettata, sebbene anche la seconda risposta sia buona. Il fatto che FINALMENTE io abbia una risposta a DOVE ESATTO il percorso è memorizzato, è il vantaggio per me. Grazie ancora! –
Upvoting _Hans Passant_ sembra così inutile ... – itsho