2014-10-06 3 views
0

Я использую openfiledialog для открытия файла calender.txt, когда он открывается, он отображает календарь в качестве имени файла и .txt в поле фильтра без каталога c: \Как показать полный путь и имя файла в OpenFileDialog

может кто-нибудь пожалуйста, покажите мне, как код диалога, так что я получаю C: \ каландр в диалоговом

private void openFileButton_Click(object sender, EventArgs e) 
{ 
    OpenFileDialog ofd = new OpenFileDialog(); 
    ofd.InitialDirectory = (@"C:\"); 
    ofd.Filter = ("*.txt| Text File"); 
    ofd.FileName = "calender.txt"; 
    ofd.CheckFileExists = false; 

    if (ofd.ShowDialog() == DialogResult.OK) 
    { 
     if (CheckValidity(ofd.FileName)) 
     { 
      try 
      { 
       streamWriter sw = new streamWriter(ofd.FileName); 
      } 
      catch (FileLoadException flEx) 
      { 
       MessageBox.Show(flEx.Message); 
      } 
      else 
      { 
      } 
     } 
    } 
} 
+0

Вы пробовали 'ofd.FileName = Path.Combine (ofd.InitialDirectory," calendar.txt ");'? – TyCobb

+0

Я считаю, что вам нужно установить это под опцией Папки на панели управления – Steve

+0

Спасибо TyCobb, что отсортировал его – Tom

ответ

1

Можно установить имя файла должно быть любым, что вам нравится в диалоговом окне. Если вы хотите, чтобы показать полный путь в начале, вы можете сделать следующее:

OpenFileDialog ofd = new OpenFileDialog(); 
ofd.InitialDirectory = (@"C:\"); 
ofd.FileName = Path.Combine(ofd.InitialDirectory, "calendar.txt"); 

Имейте в виду, что это не останется, как это, когда пользователь выбирает другой файл, но он не будет на самом деле для вас, потому что, как только они нанесут Open, у FileName будет полный путь для вас.

+0

Спасибо за мельницу за вашу помощь. – Tom

0

вы можете взять путь, выбранный пользователем с

string path_selected = ofd.FileName; 

, например, «C: //users/user/desktop/myfile.txt»

Я не знаю, какой-либо метод, который возвращает имя файла, но вы можете использовать строковые методы, чтобы изменить путь и получить имя файла

+0

спасибо за ваше предложение, мой вопрос, вероятно, не очень явный извините. ответ был задан TyCobb ofd.FileName = Path.Combine (ofd.InitialDirectory, "calendar.txt"); – Tom

Смежные вопросы