首页 > 代码库 > 关于C#做个小笔记
关于C#做个小笔记
RichTextBox控件很强大,不用滚动条就能上下移动看文本。
但是编程中它在winform和WPF里,略有不同。
但是一般的TextBox这个控件在两者里面,我暂时没看到区别,都能用textbox1.Clear()清除文本框。
下面是RichTextBox在winform和WPF里有哪些不同。
——————————————————————————————————————————
分割线
1、RichTextBox控件对象 如何追加文本 并换行
在winform中,向RichTextBox控件的对象aa里添加文本。
string str="123456";
可以用aa.apptendtext(str)追加文本,也可以在str后直接+"\n"来实现换行。比如str="123456"+"\n"
这样重复调用aa.apptendtext(str);就会如下显示
123456
123456
123456
..
但是在WPF里,RichTextBox空间虽然依然存在,但这招不太管用,那么我们用aa.AppendText(Environment.NewLine);来换行,不过总觉得这样换行后,怪怪的,总感觉多了一个空行。。。
——————————————————————————————————————————
分割线
2、RichTextBox空间对象 如何清除文本
在winform中,直接aa.Clear();即可
但是在WPF这招依然不管用,因为WPF里RichTextBox的对象根本没有Clear()这个方法。于是,可以用aa.Document.Blocks.Clear()来清除。
——————————————————————————————————————————
分割线
3、winform和WPF好多东西通用,我写的联系人管理程序,先用winform写的,后来直接把代码复制到WPF里,除了以上两点需要注意,其他的没做改动,直接运行了。
——————————————————————————————————————————
分割线
4、关于ReadLine()读取txt乱码问题
FileStream readfilename = new FileStream("record.txt", FileMode.Open);
StreamReader sr = new StreamReader(readfilename);
然后通过sr.ReadLine()来读取一行,这样有时会出乱码。
原因是txt默认是ANSI编码,你手动建立txt文档,基本都是ANSI编码。
而在C#程序里,汉字默认是Unicode编码的字符串,你按照ANSI来建立,程序按照Unicode来读取,这编码不兼容必须乱码。
如果你让程序自己建立txt,然后写入汉字,再让程序用ReadLine()读取,就不会有问题,因为程序默认建立Unicode编码的txt文档。
所以如果你要手动建立文档,然后用程序来读的话,必须把txt保存为Unicode编码的。否则必须乱码。
本文出自 “Xmirage” 博客,请务必保留此出处http://mirage1993.blog.51cto.com/2709744/1436017