屏蔽 Ctrl + C 和 X KeyPress事件中捕获的(Ctrl + C) e.KeyChar == 3;
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
int key = (int)e.KeyChar;
if (Control.ModifierKeys == Keys.Control && (key == 3 || key == 24))
{
if (textBox1.SelectedText != "")
{
e.Handled = true;
}
}
}--------------------------------------------------
现在没法在去重写TextBox ,只能用KeyPress 事件,KeyDown和KeyUp 都没法屏蔽.......上面这个写法是可以的,不知道是否有弊端.........
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
int key = (int)e.KeyChar;
if (Control.ModifierKeys == Keys.Control && (key == 3 || key == 24))
{
if (textBox1.SelectedText != "")
{
e.Handled = true;
}
}
}--------------------------------------------------
现在没法在去重写TextBox ,只能用KeyPress 事件,KeyDown和KeyUp 都没法屏蔽.......上面这个写法是可以的,不知道是否有弊端.........
解决方案 »
- sql中查询第31到第40行之间的数据
- C#可以使用这种数组么?
- 由于目标机器积极拒绝,无法连接。 127.0.0.1:7802
- HttpWebRequest.GetResponse()错误
- DateTimePacker 查询时间出错。
- 高分诚心求助,向数据库添加数据时出现重复编号,内附详细说明书
- 请教一个问题(StructLayout)类?
- 各位大哥大姐,我现在要做一个交叉的分析报表,就是需要交叉的项目有多项,就是数量、金额及金额比率,请问一下,能否在一张表内反映出来
- 如何枚举 winform 中所有的组件?
- 怎样保持数据的正确性(一致性),在使用try的时候
- C#操作神龙卡播放
- 刚开始学C#,怎么感觉ADO.NET反而没有VB用ADO好用。
Clipboard.SetDataObject(null);
{
((TextBox)sender).SelectionLength = 0;
}
protected override void WndProc(ref Message m)
{
if(m.Msg != WM_PASTE)base.WndProc (ref m);
}
ShortcutsEnabled为False
{
public const int WM_COPY = 0x301;
public const int WM_CUT = 0x300;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_COPY || m.Msg == WM_CUT) return;//不处理
base.WndProc(ref m);
}
}
粘贴上面这个到你项目中编译,在工具栏中拖出这个控件,用这个。
TextBox textBox = new TextBox();
textBox.ShortcutsEnabled = false;
谢谢各位的回答,几位经常在线的高手,还在每天为别人免费解答问题......佩服...佩服!2楼:
Clipboard.SetDataObject(null);
//这个思路是错误的,复制数据的时候是在执行完KeyDown之后才去复制的,所以即使用Clipboard.Clear()也没用
---------------------------------------------------3楼,6楼: Ctrl + V 等快捷键 也屏蔽掉了 我只屏蔽Ctrl + X和C
---------------------------------------------------4楼: 测试了下好像只能屏蔽 TextBox控件里的Ctrl + X 和 C, 其他的怎么屏蔽不了----------------------------------------------------
e.Handled = true;RichTextBox 要在KeyDown事件里屏蔽
e.Handled = true;DataGridView :用这句就可以屏蔽
this.dataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.Disable;