首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >\charscalexN在RichTextBox上不起作用

\charscalexN在RichTextBox上不起作用
EN

Stack Overflow用户
提问于 2018-06-02 04:56:27
回答 1查看 77关注 0票数 2

图片:

我的代码:

代码语言:javascript
复制
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编辑的文本显示没有变化。

有没有什么解决方案,普通的或者有一些额外的库,来显示拉伸的文本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-02 05:38:54

您需要使用最新版本的RichText库。创建您自己的RichTextBox控件并重写CreateParams属性:

代码语言:javascript
复制
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方法:

代码语言:javascript
复制
richTextBox1.LoadFile(@"C:\Users\User\Documents\보통 글자.rtf");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50650909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档