我想在第三个文本框中计算前两个文本框的积,代码如下:
Private Sub Text3_keypress(keyascii As Integer)
Dim snumber, sunitprice, sdiscount, ssumprice, ssummoney As Single
  s1 = Val(Text1.Text)
  s2= Val(Text2.Text)
  s3 = Val(Text3.Text)
  
  s3 = s1 * s2 
End Sub
但不知道为什么不运行,无论我用Text3的click还是keypress都不执行。哪位高人帮我看看。

解决方案 »

  1.   

    错了,是:
    dim s1.s2,s3 as single
      

  2.   

    Private Sub Text3_keypress(keyascii As Integer)
        Dim s1, s2, s3 As Single
        s1 = Val(Text1.Text)
        s2 = Val(Text2.Text)
        s3 = s1 * s2
        Text3.Text = s3
    End Sub
      

  3.   

    LZ的代码 可能是在C语言中使用指针的操作方式
      

  4.   

    首先,你定义的变量snumber, sunitprice, sdiscount, ssumprice, ssummoney 都没有用上,建议删去;而且在你的定义中Dim snumber, sunitprice, sdiscount, ssumprice, ssummoney As Single,这种写法只是把最后一个变量ssummoney定义为Single类型了,而其它的都是Variant类型;而后面的:
      s3 = Val(Text3.Text)
      s3 = s1 * s2 
    两句则是顺序颠倒了;先通过s3 = s1 * s2 求得两数相乘的积s3,然后再让s3在Text3中显示,应该写成:
     s3 = s1 * s2 
    Text3.Text=s3
    以上是我的意见;因为机子上装了.NET2003就装不了VB6.0了,所以程序没有运行过,但相信按以上改应该是可以的,你试试
      

  5.   

    另外,你选用的Text3_keypress事件感觉不是很恰当;建议再引入一个命令按钮Command1,在Command1_Click()事件里写这些代码更符合一般操作习惯
      

  6.   

    我按照各位的意思,重新修改了一下我的程序:
    Private Sub Text3_click()
    dim s1 As Single
    dim s2 as single
    dim s3 as single
    s1 = Val(Text1.Text)
        s2 = Val(Text2.Text)
        s3 = s1 * s2
        Text3.Text = s3
    End Sub
    但是不管我在text1、text2中输入什么,结果却显示为0,为什么?
      

  7.   

    补充:不管我在text1、text2中输入什么,text3中的结果显示为0。
      

  8.   

    按你现在的代码,只要Text1、Text2中输入输入数字,显示应为输入值的积。除非你的VB有问题。
      

  9.   

    因为你可能改过了text1,text2的名字.