2016-05-08 2 views
0

Итак, я настроил браузер файлов, полностью работающий. Но теперь я хочу взять конечное местоположение, куда вы пошли, и поместить это местоположение в TextBox. Которые все еще могут быть введены пользователем, если они хотят вручную ввести местоположение файла.Как показать выбранный каталог OpenFileDialog в текстовом поле

private void button1_Click(object sender, EventArgs e) 
    { 
     int size = -1; 
     DialogResult result = openFileDialog1.ShowDialog(); 
     if (result == DialogResult.OK) 
     { 
      string file = openFileDialog1.FileName; 
      try 
      { 
      string text = File.ReadAllText(file); 
      size = text.Length; 
      } 
      catch (IOException) { } 
     } 

     Console.WriteLine(size); 
     Console.WriteLine(result); 
    } 
+0

не могли бы вы объяснить более подробную и конкретную информацию? – Mostafiz

+0

Хорошо, в принципе, у меня есть вкладка настроек, там я хочу textBox. рядом с текстовым полем у меня есть кнопка «Обзор», которая открывает браузер файлов. Теперь после того, как пользователь выбрал файл, я хочу, чтобы направление этого файла отображалось в текстовом поле – AaronKek

+0

ok позвольте мне ответить – Mostafiz

ответ

1

Вы можете получить полный путь

textBox1.Text = file; 

и имя последней папки

string lastFolderName = Path.GetFileName(Path.GetDirectoryName(file)); 
textBox1.Text = lastFolderName; 

в вашем коде, вы можете использовать, как показано ниже, если вы хотите использовать местоположение от другого затем введите file переменная глобальная

string file = "";    
private void button1_Click(object sender, EventArgs e) 
    { 
     int size = -1; 
     DialogResult result = openFileDialog1.ShowDialog(); 
     if (result == DialogResult.OK) 
     { 
      file = openFileDialog1.FileName; 
      try 
      { 
       string text = File.ReadAllText(file); 
       size = text.Length; 
       textBox1.Text = file; // for full location 
       textBox2.Text = Path.GetFileName(Path.GetDirectoryName(file)); // for last folder name 
      } 
      catch (IOException) 
      { 
      } 
     } 
    } 

, а затем

private void textBox1_TextChanged(object sender, EventArgs e) 
     { 
      textBox2.Text = file; 
     } 
+0

Итак, textBox1.Text = file; идет под TextBox, где я хочу, чтобы каталог появился? – AaronKek

+0

да, это текстовое поле, где вы хотите показать директорию – Mostafiz

+0

По какой-то причине с текстомBox1.Text = file; Файл не существует в текущем контексте На данный момент я получил: http://imgur.com/QhMNLL9 – AaronKek

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