图片:
我的代码:
private void BtnSetContent_Click(object sender, EventArgs e)
{
string fn = @"C:\Users\User\Documents\보통 글자.rtf";
string towrite = "";
StreamReader sr = new StreamReader(fn);
while (sr.Peek() >= 0)
{
towrite += sr.ReadLine() + " ";
}
sr.Close();
MessageBox.Show(towrite);
RTBMainText.Rtf = towrite;
}
我想要在RichTextBox
上显示200%的拉伸文本(例如{\charscalex200 Stretched}
),但这个关键字似乎被忽略了,所以charscalex
编辑的文本显示没有变化。
有没有什么解决方案,普通的或者有一些额外的库,来显示拉伸的文本?
发布于 2018-06-02 05:38:54
您需要使用最新版本的RichText库。创建您自己的RichTextBox控件并重写CreateParams属性:
using System.Runtime.InteropServices;
public class RichBox : RichTextBox {
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr LoadLibrary(string lpFileName);
protected override CreateParams CreateParams {
get {
var cp = base.CreateParams;
if (LoadLibrary("msftedit.dll") != IntPtr.Zero) {
cp.ClassName = "RICHEDIT50W";
}
return cp;
}
}
}
结果:
重新生成解决方案,并使用此控件代替标准的RichTextBox控件。
此外,您还可以只使用LoadFile方法:
richTextBox1.LoadFile(@"C:\Users\User\Documents\보통 글자.rtf");
https://stackoverflow.com/questions/50650909
复制相似问题