VB 2015:基于表单状态计算,无变量



我目前的VB家庭作业要求我们构建一个简单的表单(在Visual Studio 2015中(用于酒店租金计算。用户在文本框中键入数值,然后根据存在或不存在的其他因素,当他们单击要执行的窗体上的按钮时,实际租金将显示在标签中。窗体上的控件是用于用户输入的文本框或组合框,它们会影响速率。例如,用户可能会键入 300 作为基本租金,但如果他们还选中了"早餐"框,则他们每晚多支付 15 美元,因此当他们单击执行时,输出标签中将显示租金值 315。

复杂之处在于我们不能使用任何变量。我们只能在用户单击执行时使用表单中存在的值来确定标签中显示的最终值。那么,如何在不使用变量的情况下将按钮的单击与"查看所有这些复选框和组合框并使用它们修改文本框中的值"的命令联系起来呢?

我尝试使用 if 语句,但这只会使每次我单击任何内容时数字都会增加。如何使代码仅查看单击按钮时窗体所处的确切状态,然后使用该窗体状态修改用户已输入的值?

按照要求,这是我的代码,但我的教授说这一切都错了,完全重新思考并重新开始。

Public Class frmJMtest_hl
Private Sub btnCalcRent_Click(sender As Object, e As EventArgs) Handles btnCalcRent.Click
If cboBuilding.Text = "High End" Then txtRent.Text = txtRent.Text + 210
If chkBreakfast.Checked = True Then txtRent.Text = txtRent.Text + 65
If chkBalcony.Checked = True Then txtRent.Text = txtRent.Text + 120
If chkNoSmoking.Checked = True Then txtRent.Text = txtRent.Text - 15
lblResults.Text = txtRent.Text
End Class

不是根据各种条件修改txtRent,然后将该值复制到lblResults而是先将值复制到lblResults,然后根据这些条件修改lblResults

Private Sub btnCalcRent_Click(sender As Object, e As EventArgs) Handles btnCalcRent.Click
lblResults.Text = txtRent.Text
If cboBuilding.Text = "High End" Then lblResults.Text = lblResults.Text + 210
If chkBreakfast.Checked = True Then lblResults.Text = lblResults.Text + 65
If chkBalcony.Checked = True Then lblResults.Text = lblResults.Text + 120
If chkNoSmoking.Checked = True Then lblResults.Text = lblResults.Text - 15
End Sub

txtRent永远不会被修改,因此会保留用户输入的值。

(如果这是 C#,则需要一些整数转换,我不确定上述内容是否适用于 VB.NET,但这只是对所提供代码的返工。

最新更新