- A+
在做一个编辑器的时候简单的读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
复制
要是不加,输入的还是原先默认的编码字体。所以说为了字体显示一致,在需要的地方都要加上