none
数值问题 RRS feed

  • 问题

  • Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged, TextBox9.TextChanged, TextBox10.TextChanged, TextBox11.TextChanged, TextBox12.TextChanged
    Dim a, c As Integer
            Dim b As String '暂存变量
            Label13.Text = "0.00" '储存结果变量
           
            If TextBox12.Text = "" Then TextBox12.Text = "0"
            Label12.Text = My.Settings.absent * TextBox12.Text
            Label13.Text = Val(Label8.Text) + Val(Label9.Text) + Val(Label10.Text) + (Val(Label11.Text) * My.Settings.ot) - (Val(Label12.Text) * My.Settings.absent)
          
        End Sub
    My.Settings.absent=10(不会变)
    每当TextBox8.TextChanged, TextBox9.TextChanged, TextBox10.TextChanged, TextBox11.TextChanged, TextBox12.TextChanged的时候,label13就会自动计算全部的值。
    当时是label12的值会根据textbox的值改变。原本label12的值是(11*10)=110,当有textbox值变化时,label12.text就会变成11(没有乘10).为什么label12的值无法乘My.Settings.absent的值。
    2011年9月19日 9:41

答案

  • 你好
    我嘗試了你的程式碼.. 沒有出現問題
    或者你可以嘗試在
          Label12.Text = My.Settings.absent * TextBox12.Text
    使用BREAKPOINT
    看看他們的值
    另一個建議是在檢查TextBox12.Text 是不是空白時
    可以考慮使用IsNumeric
    來檢查他們是不是數字
    E.G.
      If TextBox12.Text = "" Then TextBox12.Text = "0"
    改為
      If Not isNumeric(TextBox12.Text)Then TextBox12.Text = "0"
    Please correct me if my concept is wrong

    Chi
    2011年9月19日 12:30
    版主