0
我是VB新手,在分配課程時遇到了一些麻煩。基本上它應該是一個發票小計 - 找到折扣百分比,並給出實際總額。我似乎無法讓我的課程訪問用戶輸入的文本框,它只是一直返回0。這是一個家庭作業,以及...即時通訊不要求只是一些提示的答案,因爲我真的在虧損,無法弄清楚這一點!無法在類中訪問我的文本框輸入
這是我的代碼按鈕單擊事件:
Public Sub btnCalc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalc.Click
'If txbxSubtotal.Text >= 500 Then
' discountpercent = 0.2
'ElseIf txbxSubtotal.Text >= 250 And txbxSubtotal.Text < 500 Then
' discountpercent = 0.15
'ElseIf txbxSubtotal.Text >= 100 And txbxSubtotal.Text < 250 Then
' discountpercent = 0.1
'Else
' discountpercent = 0
'End If
'discountAmount = txbxSubtotal.Text * discountpercent
'total = txbxSubtotal.Text - discountAmount
Dim myinvoice As New Getinvoice
myinvoice.setAmount(total = Convert.ToDecimal(txbxSubtotal.Text))
total = txbxSubtotal.Text
MessageBox.Show(myinvoice.getdiscountAmount)
MessageBox.Show(myinvoice.getAmount)
End Sub
End Class
,這是我的類中的代碼:
Public Class Getinvoice
Private subtotal As Decimal
Private discount As Decimal
Private discountAmount As Decimal
Private discountpercent As Decimal
Private amount As Decimal
Public Sub setAmount(ByVal total As Decimal)
amount = total
End Sub
Public Function getAmount()
Return amount
End Function
Public Sub setdiscountPercent(ByVal discPcnt As Decimal)
discountAmount = discPcnt
If amount >= 500 Then
discountpercent = 0.2
ElseIf amount >= 250 And amount < 500 Then
discountpercent = 0.15
ElseIf amount >= 100 And amount < 250 Then
discountpercent = 0.1
Else
discountpercent = 0
End If
End Sub
Public Function getdiscountAmount()
Return discountpercent
End Function
End Class
雖然我真的很困惑,但即使我做msgbox檢查並查看用戶是否爲小計輸入(來自txbxsubtotal.text),我將輸入5000,並返回太多0 – Robert 2012-02-20 14:48:39
你必須至少調用一次setdiscountPercent(ByVal discPcnt As Decimal),這樣你就可以將一些值存儲在「discountpercent」和「discountAmount」裏面 – Jordan 2012-02-20 15:09:30
即使我不運行程序嘗試獲得折扣的百分比並且只是金額(小計),即用戶通過txbxsubtotal.text輸入即使輸入5000,它也會返回0值。所以我認爲問題在於文本框輸入沒有傳入類中? – Robert 2012-02-21 00:01:51