找回密码
 立即注册

QQ登录

只需一步,快速开始

mjhcad
初级会员   /  发表于:2014-8-7 15:27  /   查看:9919  /  回复:11
请问:tx如何在不设置只读的情况下拦截Ctrl+C组合键来阻止复制?
       在keydown中用   e.Control and e.KeyCode=Keys.C 拦截不了。

11 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-8-7 19:07:00
沙发
回复 1楼mjhcad的帖子

不好意思,和你确认下,是通过以下方法设置的只读吗?

  1.             this.textControl1.EditMode = TXTextControl.EditMode.ReadOnly;
复制代码


这时 tx 已经无法操作,为什么好要禁止快捷键呢?我不是十分理解
回复 使用道具 举报
mjhcad
初级会员   /  发表于:2014-8-11 08:54:00
板凳
版主,我的意思是不设置只读,既在正常的情况下,如何拦截ctrl+C。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-11 18:53:00
地板
回复 3楼mjhcad的帖子

请尝试以下代码看能否解决你的问题:

  1.         private void textControl1_KeyDown(object sender, KeyEventArgs e)
  2.         {

  3.             if (e.Control&&e.KeyCode==Keys.C)
  4.             {
  5.                 e.Handled = true;
  6.             }
  7.         }
复制代码
回复 使用道具 举报
mjhcad
初级会员   /  发表于:2014-8-12 09:26:00
5#
谢谢版主,我试试看。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-12 14:38:00
6#
回复 5楼mjhcad的帖子

请问结果如何?
回复 使用道具 举报
mjhcad
初级会员   /  发表于:2014-8-13 08:55:00
7#
试了,还是不行。
版主试试在您的代码中加入一个对话框Msgbox,看看能不能弹出来。
回复 使用道具 举报
dywazg
高级会员   /  发表于:2014-8-13 09:51:00
8#
回复 7楼mjhcad的帖子

在上边的代码中弹不弹对话框和能不能拦截复制没啥关系吧
关键看你还能用快捷键复制吗
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-13 16:14:00
9#
回复 7楼mjhcad的帖子

指的是在 if 里面添加吗?是可以弹出来因为代码还是会走完整个事件。
快捷键通过 6# 代码是可以屏蔽成功的,录制了一段Video,请你查看。

Video_2014-08-13_160705_edit.zip (180.67 KB, 下载次数: 228)
回复 使用道具 举报
mjhcad
初级会员   /  发表于:2014-8-14 07:55:00
10#
谢谢。我用的是VBnet2008。在if中加个消息框,如果检测到同时按下Ctrl+C应该弹出消息框,但没有成功过。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部