private void menu_Open_Click(object sender, System.EventArgs e)
{
               openFileDialog1.Filter="文件类型(*.txt)|*.txt";
              
//--------首先判断ShowDailog方法的返回结果是否为DialogResult.OK,如果是,则将指定文件加载到richTextBox1里面---------
         if  ((this.openFileDialog1.ShowDialog() == DialogResult.OK)&(openFileDialog1.FileName.Length>0))
{
try
{
this.richTextBox1.LoadFile(this.openFileDialog1.FileName);//将现有数据的内容加载到richTextBox1中。
// StreamReader str = new StreamReader(openFileDialog1.FileName);
// oldFileName = openFileDialog1.FileName;
// richTextBox1.Text = str.ReadToEnd();
// str.Close();
}
catch{}
}
if(this.openFileDialog1.ReadOnlyChecked==true)
{
this.richTextBox1.ReadOnly=true;
}
else{
this.richTextBox1.ReadOnly=false;
}
}

解决方案 »

  1.   

    have a try!change
    this.richTextBox1.LoadFile(this.openFileDialog1.FileName);with
    this.richTextBox1.LoadFile(this.openFileDialog1.FileName, RichTextBoxStreamType.PlainText );
      

  2.   

    在vb里是不会出错的,不过在c#,因为filename是string属性,而filename又包函了特殊字符:\,我估计是这里出错了。楼主可能需要把这个特殊字符强制转换一下。见笑了,也不知道我讲的对不对...
      

  3.   

    读取文本文件还可以使用下面的方法,比用StreamReader简单些FileOpen(1, "c:\71816B76.txt", OpenMode.Binary)
    Dim str1 As String = InputString(1, LOF(1))
    FileClose(1)
      

  4.   

    Dim str1 As String = InputString(1, LOF(1))
    这是VB吧.
    我是在C#里面做的,没有Dim这个命令.
      

  5.   

    Knight94(愚翁)   的办法我试了  可以加载了~谢谢~~~!!!!!
    但是
    保存 和 保存为 仍然要提示 "文件名不对"
    代码如下:
    /----------------------------另存按钮-----------------------------------------------
    private void menu_Save_Click(object sender, System.EventArgs e)
    {
    if (oldFileName == "")
    {
    menu_SaveAs_Click(sender, e);
    }
    else
    {
    StreamWriter SW = new StreamWriter(oldFileName);
    SW.Write(richTextBox1.Text);
    SW.Close();
    }
    }
    //--------------------------另存为按钮------------------------------------------------
    private void menu_SaveAs_Click(object sender, System.EventArgs e)
    {
    if ((this.saveFileDialog1.ShowDialog() == DialogResult.OK)&(saveFileDialog1.FileName.Length>0))
    {   this.richTextBox1.SaveFile(saveFileDialog1.FileName);
    // StreamWriter SW2 = new StreamWriter(saveFileDialog1.FileName, true);
    // SW2.Write(richTextBox1.Text);
    // SW2.Close();
    }
    }谢谢~~~