方法一:
try catch
将异常抛出
try
{
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
不过这样的用户体验度不是很好
方法二:
用限制字符的方法,限制“C” 和“V” 的使用
private void rTBShow_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.C || e.KeyCode == Keys.V || e.KeyCode == Keys.A)
{
base.OnKeyDown(e);
e.Handled = true;
}
}
方法三:
//设置文本框的keyPress事件
private void TxtUserID_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = IsPaste;
}
bool IsPaste = false;
//设置文本框的KeyDown事件
private void TxtUserID_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode.ToString().ToUpper() == "V")
{
IsPaste = true;
}
else
{
IsPaste = false;
}
}
//禁用鼠标右键的复制粘贴
private void TxtUserID_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
TxtUserID.ContextMenu = new ContextMenu();
}
}
建议用第三种方法,比较万能,不过还是期待有更好的办法!