我想问一个关于在 winForm 中的 TextBox 中,虽然我把TextBox 的只读属性变为 True , 但是还可以复制粘贴的操作。怎么能让这个TextBox 里面的 文本不能被复制出来?
解决方案 »
- 问一下关于Winform里读取文件的问题。
- C#子线程接收串口数据,不用timer计时器怎么写。
- 违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条
- 关于app.config文件的使用
- 急求!ASP.NET后置代码,调用前台的JAVASCRIPT函数问题
- 自学C#后,不知道学哪种的数据库
- 不用保存对话框,用什么方法保存导出的文本文件在默认的路径?
- 初学者弱弱的问一下,关于数据库的
- 请教一个控件的基础知识,谢谢大侠
- atl写了个com组件,向外传递一个自定义结构体指针……
- 【求助】请问如何向未知IP的server端 发送socket请求建立连接?多谢
- 如何获取光标在TextBox中的位置?
http://www.syncfusion.com/faq/windowsforms/search/961.aspx把其中的ctrl+V改成ctrl+c即可
if(e.control&&e.KeyCode.Equals(Keys.C)){
e.Handled=true;
}
具体代码如下:protected override bool ProcessCmdKey(ref Message msg,Keys keyData)
{
if(keyData == (Keys.Control | Keys.C)||keyData ==(Keys.Control | Keys.V))
{
MessageBox.Show("不能粘贴,复制");
return true;
}
else
return base.ProcessCmdKey(ref msg, keyData);
}但是这个不能很好的解决问题。
因为他是重载自Form的,也就是说Form中的所有KeyDown都会先经过它的处理。
那么你在Form里面在加入其他任何控件都将不能粘贴。另外点击右键也不能阻止contexmenu的弹出。最好的做法还自定义一个Mytextbox 继承自textbox,然后在Mytextbox中进行重载和替换。基本上做Form的,不管是webForm还是WinForm都应该有一套自定义控件吧虽然我没有:)
方法可行