Открыть файл в поле форматированного текста с помощью C #

На этот вопрос был дан ответ. Я рекомендую решение sumit_programmers ниже. На данный момент я удалил свой код, думая, что он больше сбивает с толку, чем помогает. Когда я немного доработаю его, возможно, я опубликую здесь свой код с некоторыми комментариями.

Вас также может заинтересовать ответ на вопрос Сохранить текст из поля форматированного текста с помощью C # . Есть ответ, напоминающий принятый ответ на этот вопрос. Код должен работать, но он написан мной, поэтому могут быть некоторые ошибки или отсутствующая информация.


Обновление: я немного улучшил код (по крайней мере, я так думаю). «Encoding.Default», похоже, работает с наиболее распространенными кодировками, такими как ANSI. Если используется кодировка UTF-8 без отметки порядка байтов (BOM), похоже, что "Encoding.Default" не работает. Для получения дополнительной информации посетите informit.com/guides . Вот код, который я использую сейчас:

private void fileOpen_Click(object sender, EventArgs e)
{
  using (OpenFileDialog dlgOpen = new OpenFileDialog())
  {
    try
    {
      // Available file extensions
      dlgOpen.Filter = "All files(*.*)|*.*";
      // Initial directory
      dlgOpen.InitialDirectory = "D:";
      // OpenFileDialog title
      dlgOpen.Title = "Open";
      // Show OpenFileDialog box
      if (dlgOpen.ShowDialog() == DialogResult.OK)
      {
        // Create new StreamReader
        StreamReader sr = new StreamReader(dlgOpen.FileName, Encoding.Default);
        // Get all text from the file
        string str = sr.ReadToEnd();
        // Close the StreamReader
        sr.Close();
        // Show the text in the rich textbox rtbMain
        rtbMain.Text = str;
      }
    }
    catch (Exception errorMsg)
    {
      MessageBox.Show(errorMsg.Message);
    }
  }
}

7
задан 17 revs, 3 users 86% 23 May 2017 в 12:01
поделиться