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

你可能感兴趣的:(editor)