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的引用代码,大胆删除,没有任何作用
方法简单,但是操作非常繁琐,花一个下午才全部搞定,呵呵,的确不道德,自己玩玩可以,拿来商用被逮住自找,哈哈