以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  KeyPressEdit事件里的疑问  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190485)

--  作者:yellow
--  发布时间:2024/2/8 21:54:00
--  KeyPressEdit事件里的疑问
KeyPressEdit事件设置了代码:按w键时单元格的数值就增加1。当这个列是字符型的,可以实现。当列是整数型时不能实现。要怎样才可以让整数型的列也可以按下不同按键实现增减?

                e.Cancel = True
                Dim v As Integer = Val(e.Text)
                If v >= 0 Then  
                    v = v + 1
                Else
                    v = v - 1
                End If
                e.Text = v    \'更新编辑框内容

--  作者:有点蓝
--  发布时间:2024/2/13 20:13:00
--  
因为数值型列,是不能输入字符的,也就不能响应字符的按键

下面代码放到keydown事件
If e.KeyCode = Keys.W AndAlso e.Table.Current IsNot Nothing Then
    e.Cancel = True
    Dim r As Row = e.Table.Current
    Dim v As Integer = Val(r(e.Table.ColSel))
    If v >= 0 Then 
        v = v + 1
    Else
        v = v - 1
    End If
    r(e.Table.ColSel) = v
End If