RichTextBox1打开TXT文件StreamReader和输入的字体不一致vb.net、c#

  • A+
所属分类:vb.net

在做一个编辑器的时候简单的读txt文本在把值赋值给RichTextBox,发现读取显示后和实际修改的输入的英文字体不一样,读取后显示的字体比较窄,输入的比较宽,完全不一样,看着就不舒服。

经过查资料,就是说输入法的编辑器的和自己的不一致。大致是这个意思。经过测试,可以解决这个这个问题特记录一下。

读txt文本赋值给RichTextBox大家都会,网上一大堆,我这个也粘贴出来吧,有的读出来乱码。正常的如下:

 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
RichTextBox1.Text = ""
Dim sr1 As StreamReader = New StreamReader("C:\CAD\1.txt", System.Text.Encoding.Default)' 使用文本里的编码防止乱码
Dim line1 As String = sr1.ReadToEnd()
RichTextBox1.Text = line1
sr1.Close()
RichTextBox1.Font = New Font("宋体", 12, (FontStyle.Regular))'防止行号错位

RichTextBox1.LanguageOption = RichTextBoxLanguageOptions.ImeAlwaysSendNotify ' 防止中英文字体不一致

End Sub

复制

上面的例子就是在读文件后再结位在设置RichTextBox1的LanguageOption属性。

RichTextBoxLanguageOptions 枚举

官网说明

当然也同样在Form1_Load 下加上如下代码

 

Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)

RichTextBox1.LanguageOption = RichTextBoxLanguageOptions.ImeAlwaysSendNotify ' 防止中英文字体不一致

End Sub

复制

要是不加,输入的还是原先默认的编码字体。所以说为了字体显示一致,在需要的地方都要加上

 

 

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: