tx如何在不设置只读的情况下拦截Ctrl+C组合键来阻止复制?
请问:tx如何在不设置只读的情况下拦截Ctrl+C组合键来阻止复制?在keydown中用 e.Control and e.KeyCode=Keys.C 拦截不了。 回复 1楼mjhcad的帖子
不好意思,和你确认下,是通过以下方法设置的只读吗?
this.textControl1.EditMode = TXTextControl.EditMode.ReadOnly;
这时 tx 已经无法操作,为什么好要禁止快捷键呢?我不是十分理解 版主,我的意思是不设置只读,既在正常的情况下,如何拦截ctrl+C。 回复 3楼mjhcad的帖子
请尝试以下代码看能否解决你的问题:
private void textControl1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control&&e.KeyCode==Keys.C)
{
e.Handled = true;
}
}
谢谢版主,我试试看。 回复 5楼mjhcad的帖子
请问结果如何? 试了,还是不行。
版主试试在您的代码中加入一个对话框Msgbox,看看能不能弹出来。 回复 7楼mjhcad的帖子
在上边的代码中弹不弹对话框和能不能拦截复制没啥关系吧
关键看你还能用快捷键复制吗 回复 7楼mjhcad的帖子
指的是在 if 里面添加吗?是可以弹出来因为代码还是会走完整个事件。
快捷键通过 6# 代码是可以屏蔽成功的,录制了一段Video,请你查看。
或者如果你想彻底清除剪切板数据,可以使用以下代码:
private void textControl1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control&&e.KeyCode==Keys.C)
{
e.Handled = true;
Clipboard.Clear();
}
} 谢谢。我用的是VBnet2008。在if中加个消息框,如果检测到同时按下Ctrl+C应该弹出消息框,但没有成功过。
页:
[1]
2