找回密码
 立即注册

QQ登录

只需一步,快速开始

gw0506
超级版主   /  发表于:2016-9-12 11:00:09
11#
mindrayguowei 发表于 2016-9-11 19:14
好像可以通过捕捉到Ctrl V事件来实现的

只取其中的PlainText是可以,不过也不完善。
1. 他会根据你粘贴到的位置前的样式走,应用到所有PlainText上。
2. 你需要处理键盘,还要处理contextmenu,也就是鼠标右键。
3. 需要判的条件似乎也不少,因为其他时候还是应该正常复制的,等于我们单独开了一个口子。

不过如果真的是需求必须这样,那也没办法了。不过我总觉得这个全选容易选中table的情况其实在Word里也一直有,所以用户应该可以理解。为了这个单独开个口子,总觉得风险多了一点。
回复 使用道具 举报
mindrayguowei
中级会员   /  发表于:2016-9-14 17:51:36
12#
这个Ctrl Z撤销还是有问题, 当我导入的是一个复杂的二进制串的时候, 再撤销就会导致模板乱掉. 附件里是新的demo, 我把数据库里面两个blob类型的字段数据写到了20 和30两个二进制文件里了, 点击粘贴后会把这两个文件的数据导入到模板中的两个框里面, 然后一撤销就乱了.

TextControlTest.zip

149.56 KB, 下载次数: 51

回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-9-14 18:11:09
13#
我用这个demo,没有重现:
1. 运行应用
2. 点击多次粘贴按钮
3. 多次Ctrl+Z,没有任何变化。
blob995619201.png
回复 使用道具 举报
mindrayguowei
中级会员   /  发表于:2016-9-18 14:14:41
14#
本帖最后由 mindrayguowei 于 2016-9-18 14:16 编辑

你说的没有任何变化, 是 Ctrl + Z没有撤销成功, 还是没有乱掉?

我只要粘贴两次, 再  Ctrl + Z, 就会出现这样的问题F:\\1.jpg
就是说在框外面的检查所见会跑到框里面去
1.jpg
回复 使用道具 举报
mindrayguowei
中级会员   /  发表于:2016-9-18 14:24:39
15#
撤销乱掉的demo,上传一个新的, 有一点点不同

TextControlTest.zip

149.97 KB, 下载次数: 61

回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-9-18 18:51:57
16#
问题在这一句:
  1. _textControl.Selection.Load(content, BinaryStreamType.InternalFormat);
复制代码

调2次 SetTableCellValue 的时候,第二次selection.load之后会覆盖第一次的数据,导致内部的undolist乱了。
你改一下,不要用load,直接设置teableCell的Text。这样就正常了。
回复 使用道具 举报
mindrayguowei
中级会员   /  发表于:2016-9-20 17:56:03
17#
这个是文件是二进制内容, 不能直接设置teableCell的Text吧?
我们发现是另外的问题, 模板保存的时候没有用InternalUnicodeFormat保存导致的.
这个问题基本已经解决, 暂时没有发现别的问题了
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-9-20 18:58:33
18#
最终有时和字符集有关~~~  看来这条经验需要铭记。哈哈~
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部