2013-11-17 2 views
1

Итак, для моей первой программы в C# я хочу сделать бота. У меня уже есть часть графического интерфейса, но все не позиционируется так, как я хочу.C# OpenFileDialog не отображает содержимое, он отображает каталог файлов

Всякий раз, когда я пытаюсь загрузить текстовый файл без специального содержимого в файл с помощью OpenFileDialog, вместо него отображается каталог в Rich Text Box, а не фактическое содержимое файла.

GUI: http://puu.sh/5kLK6.png

При загрузке файла я получаю это вместо фактического содержания: http://puu.sh/5kLL2.png

Фактическое содержание файла является "wepufhwoighwiar" Код нагрузки Proxies Кнопка:

private void button1_Click(object sender, EventArgs e) 
     { 
      OpenFileDialog openFileDialog1 = new OpenFileDialog(); 

      openFileDialog1.InitialDirectory = @"C:\"; 
      openFileDialog1.Title = "Browse Text Files"; 

      openFileDialog1.CheckFileExists = true; 
      openFileDialog1.CheckPathExists = true; 

      openFileDialog1.DefaultExt = "txt"; 
      openFileDialog1.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; 
      openFileDialog1.FilterIndex = 2; 
      openFileDialog1.RestoreDirectory = true; 

      openFileDialog1.ReadOnlyChecked = true; 
      openFileDialog1.ShowReadOnly = true; 

      if (openFileDialog1.ShowDialog() == DialogResult.OK) 
      { 
       proxieslist.Text = openFileDialog1.FileName; 
      } 
     } 

ответ

4

OpenFileDialog не открывает файл для вас. Это просто помогает вам выбрать файл для открытия. Чтобы открыть файл, вам необходимо использовать некоторые классы в пространстве имен System.IO. Вот простой код, чтобы прочитать весь текст (открытый текст):

if (openFileDialog1.ShowDialog() == DialogResult.OK) 
{ 
    proxieslist.Text = System.IO.File.ReadAllText(openFileDialog1.FileName); 
} 
+1

Спасибо так много King King, будет выбрать вас, как лучший ответ в течение 7 минут, когда СТП позволяет мне , – user2971480

3

Просто, чтобы добавить полезную подсказку, это хорошая практика, чтобы инициализировать объекты, как это, он сокращает код, выглядит симпатичнее и режет вниз на повторяющемся печатать тоже .. :)

var openFileDialog1 = 
     new OpenFileDialog 
     { 
      InitialDirectory = @"C:\" , 
      Title = "Browse Text Files" , 
      CheckFileExists = true , 
      CheckPathExists = true , 
      DefaultExt = "txt" , 
      Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*" , 
      FilterIndex = 2 , 
      RestoreDirectory = true , 
      ReadOnlyChecked = true , 
      ShowReadOnly = true 
     }; 
0

в качестве другого варианта можно использовать StreamReader:

StreamReader sr = new StreamReader("C:\\cake.txt", Encoding.UTF8); //declare; 
string cakeCode = sr.ReadToEnd(); //read cake.txt through to cakeCode (a string containing the text of cake's) 
sr.Close(); //The End. 
Смежные вопросы