| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 475 人关注过本帖
标题:如何限制用户粘贴进文本框?
取消只看楼主 加入收藏
txxb
Rank: 2
等 级:论坛游民
帖 子:104
专家分:59
注 册:2014-10-8
结帖率:96%
收藏
已结贴  问题点数:20 回复次数:2 
如何限制用户粘贴进文本框?
文本框只可以输入数字,可是我发现鼠标右键可以粘贴进去其他字符,
如何让鼠标右键粘贴不进去其他字符?
搜索更多相关主题的帖子: 文本框 如何 用户 
2014-12-01 18:04
txxb
Rank: 2
等 级:论坛游民
帖 子:104
专家分:59
注 册:2014-10-8
收藏
得分:0 
以下是引用xzlxzlxzl在2014-12-1 20:09:15的发言:

不嫌麻烦,用代码控制,很简单的。
Private Sub Text1_KeyPress(KeyAscii As Integer)
  If KeyAscii = 22 Then KeyAscii = 0   '禁止Ctrl+V键粘贴
End Sub

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Button = 2 Then MsgBox "禁止粘贴"   '禁止按鼠标左键粘贴
End Sub

不要msgbox怎么弄?不要任何提示
2014-12-01 23:16
txxb
Rank: 2
等 级:论坛游民
帖 子:104
专家分:59
注 册:2014-10-8
收藏
得分:0 
以下是引用xzlxzlxzl在2014-12-2 00:29:59的发言:

不要任何提示通用的方法是用钩子,相当繁琐,网上有相关代码。这里介绍一种我刚想到的一种方法,使用延时完成,一般可以欺骗常规用户(鼠标右键按长点时间,仍然会弹出右键菜单,但粘贴选项变灰;了)
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Dim t As Single
  If Button = 2 Then
    Clipboard.Clear    '清除粘贴板内容,万一弹出也没有什么可以粘贴
    Text1.Enabled = False
    t = Timer * 1000
    While Timer * 1000 - t < 300   '通过实验,0.3秒是一个合适的时间,不容易弹出右键菜单
      DoEvents
    Wend
    Text1.Enabled = True
    Text1.SetFocus
  End If
End Sub

感谢,我目前用的是清空剪切板
2014-12-02 07:29
快速回复:如何限制用户粘贴进文本框?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016313 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved