我是初学者~最近模仿Windows记事本~想用C#写一个记事本~
打开平时我储存的文本~结果里面全是乱码~我现在的做法: this.openFileDialog1.ShowDialog();     //在按钮处show出打开文件窗口 private void openFileDialog1_FileOk(object sender, CancelEventArgs e)   //点击打开按钮的事件
        {
            this.wenben.Text = null;   
             FileStream fs = File.OpenRead(this.openFileDialog1.FileName);
            byte[] arr = new byte[100];
            UTF8Encoding date = new UTF8Encoding(); //UTF8编码
            for (; fs.Read(arr, 0, arr.Length) > 0; )
            {
                this.wenben.Text += date.GetString(arr);
            }
        }我这样做~只能打开UTF8编码的文本~
我想~象Windows记事本样~自动判断编码~可以打开所有编码的文本!可以实现吗?
我在网上好象看到一些帖说~可以判断前3个字节~看不懂~这样可以实现吗?怎么写?
还有~
我用fontDialog控件~show出字体设置控件~
~怎么得到设置的属性~并把TextBox中属性设置相等;
在ShowDialog()后该怎么写?
        private void 字体ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.fontDialog1.ShowDialog();
        }
哪位大侠可以告诉我怎么写?~希望可以得到具体的代码+注释~
谢谢~

解决方案 »

  1.   

    我想~象Windows记事本样~自动判断编码~可以打开所有编码的文本!可以实现吗? 
    ====================================================================
    要知道,记事本也会出错啊!
    那个著名的“联通”问题你不知道吗?
    你打开记事本,写上“联通”后保存,再次双击看到的就是方块了!
    呵呵,编码问题,没有办法,只能编制程序判断!
      

  2.   

    没有办法啊?额.....
    感谢~ZZULTC的回答!!!
    额~还有fontDialog控件的使用~
    那位可以告诉我吗?
    怎么得到设置的属性?~并把TextBox中的文字属性设置相等?
    继续期待中........