数字功能包括:
1。仅可以输入数字,负号和小数点
2。最好有千位分割符
3。右对齐
4。可以设定小数位数

解决方案 »

  1.   

    1。'控制输入小数点及数字的代码
    Option Explicit
    Dim decimaltag As BooleanPrivate Sub Form_Load()
       decimaltag = False
    End SubPrivate Sub Text1_Change()
       If InStr(1, Trim$(Text1.Text), ".") Then
          decimaltag = True
       End If
    End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)
       If KeyAscii = 46 And decimaltag = False Then
          decimaltag = True  '控制小数点只能输入一次。
       ElseIf KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Then
          Exit Sub
       ElseIf KeyAscii <= 31 Then
          Exit Sub   '控制可接受退格键或删除键等。
       Else
          KeyAscii = 0
       End If
    End Sub2。在keypress或change写代码3.调整文本框属性就可以:text1.alignment = 24.用format$函数
      

  2.   

    to:lohonggen0
    当然...要
    [email protected]
    谢谢了
      

  3.   

    http://www.chinaithero.com/dev/vccool/static.htmhttp://www.csdn.net/cnshare/soft/10/10864.shtm
      

  4.   

    to:alicky
    那些基本上都是实现功能1的
      

  5.   

    grand vida input controlhttp://www.myvc.net/uploadpicture/20037169282660838.rar
      

  6.   

    grand vida input controlhttp://www.myvc.net/uploadpicture/20037169282660838.rar
      

  7.   

    你的4个功能都能实现gvReal就可以,直接拖到你的窗体上,就实现了你要的功能为了方便大家下载,我公布了上面的网址
      

  8.   

    to:lohonggen0
    不错,但是有点小问题
    1。负数后再按负号无法变成正数
    2。全选情况下按负号,结果为在原有基础上添加负号
    不知可否给源代码,我自己修改
      

  9.   

    to  DaiLM() :负数后再按负号,当然不能变成正数,你可以删除负号全选情况下按负号在数字前添加负号,这样是正确的这是我在三年前写软件时用的一个控件,客户使用软件两年了,也没提出问题源程序是别人写的,现在我不知放哪儿了!
      

  10.   

    to  DaiLM() :负数后再按负号,当然不能变成正数,你可以删除负号全选情况下按负号在数字前添加负号,这样是正确的这是我在三年前写软件时用的一个控件,客户使用软件两年了,也没提出问题源程序是别人写的,现在我不知放哪儿了!
      

  11.   

    to:lohonggen0
    按照输入习惯,按负号变为负数,再按负号变为正数
    全选情况下任何操作应视为新数字的键入我写了一个控件,但有点毛病,可以帮我看看吗?