C#RichTextBox[自动选词]与[生僻字显示]问题

在C#中,RichTextBox的自动选词功能默认开启,但有时我们需要关闭它。通过设置AutoWordSelection属性在设计界面无法关闭此功能,需要额外代码实现。此外,生僻字或特殊符号可能导致显示问题,需要重写方法来正确显示。本文参考了[博客园-huobaby]和[CSDN-cadcisdhht-何海涛的专栏]的解决方案。
摘要由CSDN通过智能技术生成

  RichTextBox 的自动选词原系统设置默认打开的,如果我们有一个字符串为:“string数组”,想要选择“g数”这个字符时,RichTextBox已经为我们选择了“string数”字符。

  想要关闭自动选词,在[设计]AutoWordSelection属性设置是没办法关闭的,这算一个小BUG吧。

只能如下面这样才可以关闭。

private void Form1_Load(object sender, EventArgs e)
{
      richTextBox1.AutoWordSelection = false;
}

  生僻字(或特殊符号),很多时候都用不到,像这样这里写图片描述
  这两个字都变成����了。
  这些我们都需要用到重写方法。
  

using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.IO;

namespace 空间名
{
    public partial class EsRichTextBox : RichTextBox
    {

        #region =☆=*=☆=自定义变量=☆=*=☆=
        const string DLL_RICHEDIT = "msftedit.dll";
        /// <summary>MSFTEDIT.DLL(即RichEdit4.1版本)注册的类名是"RICHEDIT50W"</summary>
        const string WC_RICHEDITW = "RICHEDIT50W";

        /// <summary>用于表示指针或句柄的平台特定类型。</summary>
        private IntPtr moduleHandle;
        /// <summary>获取或设置一个值,通过该值指示是否尝试加载。</summary><
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值