C# 禁用复制粘贴

方法一:

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();
            }
        }

建议用第三种方法,比较万能,不过还是期待有更好的办法!

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荼白z

感谢老板请我喝咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值