我在Visual Basic中编程,我创建了一个贷款计算器程序。我几乎把所有东西都纠正了,它的工作原理和操作方式几乎都是我想要的。
到目前为止,这是我的代码:
Public Class Form1
Private MinAmt As Decimal = 1000
Private MaxAmt As Decimal = 200000
Private Drate As Decimal
Private Loan As Decimal
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'== Load the Rate and Terms combo, then 'click Reset
For r As Decimal = 0 To 0.1475 Step 0.0025
'== Add each successive value to the combo list
cbxRate.Items.Add(Format(r, "00.00%"))
Next
For t As Byte = 12 To 120 Step 6
cbxTerm.Items.Add(Format(t, "00"))
Next
btnReset.PerformClick()
End Sub
Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click
'== Set the defaults, and clear my prior answers
cbxRate.Text = "06.00%"
cbxTerm.Text = "36"
tbxLoan.Text = "10,000"
lblPayment.Text = ""
End Sub
Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles btnCalc.Click
'== Validate the loan amount (number 1,000 - 200,000);
If IsNumeric(tbxLoan.Text) AndAlso tbxLoan.Text >= MinAmt AndAlso tbxLoan.Text <= MaxAmt Then
Loan = tbxLoan.Text
Else
MessageBox.Show("Error invalid value")
tbxLoan.Focus()
tbxLoan.SelectAll()
End If
'== Calculate Monthly Payment as PMT(monthly decimal rate, term in months, minus amount)
lblPayment.Text = Pmt(cbxRate.Text.Replace("%", "") / 1200, cbxTerm.Text, -tbxLoan.Text)
'== Display formatted as money: FormatCurrency(blah blah blah)
lblPayment.Text = FormatCurrency(lblPayment.Text, 2)
End Sub
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
Close()
End Sub
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
'== Confirm he means it, else cancel attempt to close.
If MessageBox.Show("Do you really want to exit?", "Close", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Else
e.Cancel = True
End If
End Sub
结束班
我试图发布我的节目图片,这样可能会更容易,但显然我没有足够的声望点,但是我会尽力解释我能做的最好的事情。
我想消除某人不小心将一封信作为价值出现在&#34;输入贷款金额&#34;空间。现在,如果我要写一封信&#34; U&#34;在&#34;输入贷款金额&#34;它会弹出一个错误(这就是我想要的),但它也会使程序崩溃(我不想要的)。
希望这是有道理的。有人能指出我正确的方向吗?我还是Visual Basic的新手。
谢谢!
答案 0 :(得分:1)
这是因为您继续计算输入是否有效。
输入无效后使用Return退出该功能。
Else
MessageBox.Show("Error invalid value")
tbxLoan.Focus()
tbxLoan.SelectAll()
Return
End If
答案 1 :(得分:0)
或者只是将计算移到If语句
中Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles btnCalc.Click
'== Validate the loan amount (number 1,000 - 200,000);
If IsNumeric(tbxLoan.Text) AndAlso tbxLoan.Text >= MinAmt AndAlso tbxLoan.Text <= MaxAmt Then
Loan = tbxLoan.Text
'== Calculate Monthly Payment as PMT(monthly decimal rate, term in months, minus amount)
lblPayment.Text = Pmt(cbxRate.Text.Replace("%", "") / 1200, cbxTerm.Text, -tbxLoan.Text)
'== Display formatted as money: FormatCurrency(blah blah blah)
lblPayment.Text = FormatCurrency(lblPayment.Text, 2)
Else
MessageBox.Show("Error invalid value")
tbxLoan.Focus()
tbxLoan.SelectAll()
End If
End Sub
答案 2 :(得分:0)
您仍在执行其余代码。你需要退出那个街区。利用Return语句..
Else
MessageBox.Show("Error invalid value")
tbxLoan.Focus()
tbxLoan.SelectAll()
Return
End If