在Vistua Studio C#中如何禁用文本框的复制,粘贴,剪切及选中功能?
2013-08-12
private void TextPass_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = IsPaste;
}
bool IsPaste = false;
private void TextPass_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode.ToString().ToUpper() == "V")
{
IsPaste = true;
}
else
{
IsPaste = false;
}
}
当按下ctrl+v的时候把标记变量IsPaste设置为true,然后在KeyPress事件中将这个true值设置给e.Handler就可以当ctrl+v没有按下过了。这样就禁用了键盘进行复制和粘贴。
2.禁用掉对文本框点鼠标右键,因为在文本框内点鼠标右键一样在弹出菜单里进行复制和粘贴的操作。
private void TextPass_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
TextPass.ContextMenu = new ContextMenu();
}
}
当点鼠标右键时,TextPass.ContextMenu = new ContextMenu()就不会弹出右键菜单了。
不允许向文本框粘贴内容:
private void TextPass_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = IsPaste;
}
bool IsPaste = false;
private void TextPass_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode.ToString().ToUpper() == "V")
{
IsPaste = true;
}
else
{
IsPaste = false;
}
}
当按下ctrl+v的时候把标记变量IsPaste设置为true,然后在KeyPress事件中将这个true值设置给e.Handler就可以当ctrl+v没有按下过了。这样就禁用了键盘进行复制和粘贴。
2.禁用掉对文本框点鼠标右键,因为在文本框内点鼠标右键一样在弹出菜单里进行复制和粘贴的操作。
private void TextPass_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
TextPass.ContextMenu = new ContextMenu();
}
}
当点鼠标右键时,TextPass.ContextMenu = new ContextMenu()就不会弹出右键菜单了。
设置文本框的ShortcustsEnabled属性为FALSE,可以有效地禁用控件中鼠标右键菜单功能和Ctrl+V快捷的粘贴功能,同时还可以禁用Ctrl+C快捷键,禁止复制文本框中的文本内容。
2013-08-12