c# 打开的窗口显示在最前面_C# FastColoredTextBox 控件常见问题及修改

C# FastColoredTextBox 控件常见问题及修改

今天是19年10月18日 也是第一次写文章 以后也会养成一个遇到问题解决问题后写篇博客或文章的习惯 感谢知乎提供的该服务 话不多说 我们来讲正题

FastColoredTextBox常见问题

  1. FastColoredTextBox输入中文异常 (拿demo窗口第一行第一个讲解 后面全是)刚打开没有进行任何设置时 该编辑器只能输入英文 如下图

v2-181e6097ef7097b087d9522303882792_b.jpg

然后我们修改一个属性(改为On等其他 只要不是Off应该都可以)

v2-e23eaec7da4c8c62b2642c26abe2276e_b.jpg

修改完成后可以输入中文了 但明显可以看出中文显示异常:

v2-09736cef70642a69d103c6fbb1393f84_b.jpg

上图是修改前 下图为修改后

v2-b6a2b85763a7d512b53f85cd62c6081f_b.jpg

下面为修改指导 ->进入FastColoredTextBox.cs 找到大概119行的Draw方法体 下图

v2-bbc7d81c5cbc7e4814806ef0a3012537_b.jpg

该方法是绘制编辑框内容,懂的人自然懂 不多说,去找中文绘制问题 我们只需要将它默认计算出来的K写死为1即可(具体为啥来着我给忘了)

v2-c3a1af4e890ced3c4eaa2f39b4994e7e_b.jpg

将上图选中代码直接改为

float 

v2-77cfe1dbfe64e6b9106c9560af447de1_b.jpg

运行结果:

v2-b132bae0bf4026702428cdea29ccc8e2_b.jpg

显示正常中文修改完成 再改完中文显示后又发现一个问题 中文输入多了 窗体不管是进行什么操作都会克顿 cpu占用超过20 这也就是发现的问题第二个

2.FastColoredTextBox中文过多界面操作卡顿问题

该控件每次滑动滚动条或输入时都会进行重新绘制 每次重新绘制都会计算每个字符的长度 这也就是卡顿关键 修改意见:(有两处需要修改)

v2-f3d8fe93f9f2830095359974fe21b93a_b.jpg

修改为:

v2-31033c5c94aef1033adf0baa046735f6_b.jpg

即可解决卡顿问题 该修改位置为:

v2-92485e47477a9c2350b53a19cfa86786_b.jpg

该文章会持续更新该控件发现问题和解决方案 另外附上修改后源码github地址:

duanxingji/FastColoredTextBox​github.com
v2-6df55e65938294103d60c209f50653f8_ipico.jpg

修改的地方有:中文修复 中文数量多卡顿问题 代码补全功能(代码补全提示参考文本为运行目录下config.txt) 鼠标悬停代码提示 点击代码弹出窗体等 拿走代码请点一个小星星。谢谢

v2-d0872f452ad20f0c4a966b2b071997aa_b.jpg
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值