Abrir arquivo na caixa de rich text com C #

Esta pergunta foi respondida. Eu recomendo a solução sumit_programmers abaixo. Por enquanto, removi meu código, pensando que é mais confuso do que útil. Quando eu o desenvolver um pouco mais, talvez eu publique meu código aqui, com alguns comentários.

Você também pode estar interessado na resposta à perguntaSalve o texto da caixa de rich text com C #. Há uma resposta que lembra a resposta aceita para esta pergunta. O código deve funcionar, mas foi escrito por mim, portanto, pode haver alguns erros ou informações ausentes.

Atualização: melhorei um pouco o código (pelo menos acho que sim). "Encoding.Default" parece funcionar com as codificações mais comuns, como ANSI. Se a codificação for UTF-8 sem BOM (marca de ordem de bytes), parece que "Encoding.Default" não funciona. Para mais informações, acesseinformit.com/guides. Aqui está o código que estou usando agora:

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);
    }
  }
}

questionAnswers(3)

yourAnswerToTheQuestion