Syncfusion Editor组件支持中文修改(初步)

Syncfusion 的编辑器组件的确非常强悍,但是我拿到的5.1的Ent版本确不支持中文,输入的时候出现??,

尝试修改了一下基本满足要求

StreamEditControl.cs

函数protected void TextInsertInternal( int iLine, int iColumn, string str, bool update, bool bUseTabStops )
修改
if (m_wrapper.Encoding.GetMaxByteCount(1) == 1 && Encoding.Default.GetByteCount(str) > str.Length &&
      m_wrapper.Encoding.GetString( m_wrapper.Encoding.GetBytes( str ) ) != str)
     {
      ChangeEncoding( Encoding.Default );//强制转换成default的编码方式
     }

protected override void OnKeyPress( KeyPressEventArgs e )
if( !e.Handled )
     {
      ProcessAutoReplace( e.KeyChar );
      InsertChar( e.KeyChar );
      ProcessIntellisenseKey( e );
                        e.Handled = true;//增加本行,如果不增加则输入中文的时候会重复输入一次,寒
     } 

RegexTokenizer.cs
构造函数
public RegexTokenizer(Stream input)
        {
            m_reader = new StreamReader(input, Encoding.Default, true);     //这里最重要,否则什么都是白搭

修改之后没解决的问题

光标移动的时候会出现错位,暂时没办法解决,达人可以帮忙看看。

另外附上Syncfusion  Ent源码授权的取消方法

1、删除所有工程里面没有源代码的工程Core.
2、删除所有的Core的引用代码,大胆删除,没有任何作用

方法简单,但是操作非常繁琐,花一个下午才全部搞定,呵呵,的确不道德,自己玩玩可以,拿来商用被逮住自找,哈哈

hiddenLink

转载于:https://www.cnblogs.com/JeasonZhao/archive/2007/10/21/931929.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值