[align=left]    private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
        {
 openFileDialog1.InitialDirectory = @"d:\我的文档\桌面";
            openFileDialog1.Filter = "(*.txt)|*.txt";
         if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            else
            {
                Form2 form2 = new Form2();
                form2.Text = openFileDialog1.FileName;
                StreamReader sr = new StreamReader(openFileDialog1.OpenFile());                form2.richTextBox1.Text =sr.ReadToEnd();
                
                form2.MdiParent = this;
                form2.Show();
            }
           
        }[/align]
这段代码是在主窗体(form1)写的,用openFileDialog1控件打开,读取文件,然后出来就是乱码,为什么,请高手帮忙,谢谢

解决方案 »

  1.   

      private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                openFileDialog1.InitialDirectory = @"d:\我的文档\桌面";
                openFileDialog1.Filter = "(*.txt)|*.txt";
                openFileDialog1.Multiselect = false;
                if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
                else
                {
                    Form2 form2 = new Form2();
                    form2.Text = openFileDialog1.FileName;
                    StreamReader sr = new StreamReader(openFileDialog1.OpenFile());                form2.richTextBox1.Text =sr.ReadToEnd();
                    
                    form2.MdiParent = this;
                    form2.Show();
                }
               
            }高手帮忙,谢谢。QQ125029105
      

  2.   

    出现乱码多半是编码问题。你的txt中有中文或其他的,你的txt中都换成英文试试!
    参考:
    http://blog.csdn.net/lzy_1515/archive/2010/04/28/5538664.aspx
      

  3.   

    StreamReader sr = new StreamReader(openFileDialog1.OpenFile());查看类,应该有重写的