以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 2020年1月版开始出现 文本框中的KeyPress事件的代码对粘贴的内容不起作用 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=152212) |
-- 作者:xiaoqiwei -- 发布时间:2020/7/9 16:57:00 -- 2020年1月版开始出现 文本框中的KeyPress事件的代码对粘贴的内容不起作用 2020年1月19日版 和 2020年5月29日版 均出现 文本框中的KeyPress事件的代码 对 粘贴的内容 不起作用,这个影响非常之大,很多 金额输入 都是用文本框控件 的 [此贴子已经被作者于2020/7/9 16:59:20编辑过]
|
-- 作者:xiaoqiwei -- 发布时间:2020/7/9 17:15:00 -- 有没什么办法可临时解决这个问题? |
-- 作者:有点蓝 -- 发布时间:2020/7/9 17:20:00 -- 已反馈 |
-- 作者:xiaoqiwei -- 发布时间:2020/7/9 18:36:00 -- 有没什么办法可临时解决这个问题?例如禁止粘贴 [此贴子已经被作者于2020/7/9 18:36:30编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/7/9 20:05:00 -- 禁止粘贴到keydown事件cancel掉ctrl+v键即可。 窗口afterload屏蔽掉右键菜单:e.Form.Controls("TextBox1").basecontrol.ShortcutsEnabled = False
[此贴子已经被作者于2020/7/9 20:10:31编辑过]
|
-- 作者:xiaoqiwei -- 发布时间:2020/7/10 2:04:00 -- 想了另一种临时解决方案: Validating 事件中: If e.Sender.Value IsNot Nothing Then Dim k As String = e.Sender.Value Dim Values() As String = k.split(".") If Values.Length > 2 Then e.Cancel = True MessageBox.Show("警告:【" & e.Sender.name & "】输入有误,请检查!","错误提示",MessageBoxButtons.OK, MessageBoxIcon.Warning) Return End If Dim j As Integer = k.Length Select Case j Case 1 If Char.IsDigit(k) = False Then e.Cancel = True MessageBox.Show("警告:【" & e.Sender.name & "】输入有误,请检查!","错误提示",MessageBoxButtons.OK, MessageBoxIcon.Warning) End If Case Else Dim s As String For i As Integer = 0 To j - 1 s = k.SubString(i,1) If Char.IsDigit(s) = False And s <> "." Then e.Cancel = True MessageBox.Show("警告:【" & e.Sender.name & "】输入有误,请检查!","错误提示",MessageBoxButtons.OK, MessageBoxIcon.Warning) Exit For End If Next End Select End If |