在vsflexgrid8 中第 1,3,5 列允许输入负数,也就是说第一位可以出现负号“-”。    请问:
  
        如何限制编辑指定列时允许输入“-”号,而且只能出现在第一位上。

解决方案 »

  1.   

    我的代码如下:Private Sub VSFlexGrid1_KeyPressEdit(ByVal Row As Long, ByVal Col As Long, KeyAscii As Integer)
      ''限制输入 VSFlexGrid1 单元格的字符,只能输入数字
      
      If Col = 1 or Col=3 or Col=5  Then
      
        Select Case KeyAscii
          Case 8            ''退格键
          Case 13           ''回车键
          Case 45           ''负号键
          ''Case 46           ''小数点
          Case 48 To 57     ''数字键
          Case Else
            Beep          ''报警声
            KeyAscii = 0  ''输入为空
        End Select
      Else
     
        '  处理其他单元格的编辑问题
    End Sub但这样只保证了在 1,3,5 列可以输入数字和负号“-”,没有能限制“-”号只出现在第一位!
    请高手指教,怎么修改代码?
      

  2.   

    允许输入数字,负号有自己在EditAfter事件中给它加上不行????
      

  3.   

    AfterEdit事件中有Col参数,
    只需要控制一下Col就可以了
      

  4.   

    谢谢whachun(jakly)!判断是不是第 1 , 3 ,5 列,这个问题不大!但下面如何判断的代码不会呀!