Public Class Form1
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btnZero.Click, btnTwo.Click, btnThree.Click, btnSix.Click, btnSeven.Click, btnOne.Click, btnNine.Click, btnFour.Click, btnFive.Click, btnEight.Click
Dim btnNumber As Button = sender
If lblResult.Text = ("0") Then
lblResult.Text = btnNumber.Text
Else
lblResult.Text = lblResult.Text + btnNumber.Text
End If
End Sub
End Class
我正在研究一个简单的计算器,我不明白这个逻辑在这里是参考btw:https://www.youtube.com/watch?v=iMgTPKEFRMI
答案 0 :(得分:0)
单击该按钮时,结果标签将重置为btnNumber
的文本,或者btnNumber
的文本将被追加。
答案 1 :(得分:0)
当`btnZero,btnTwo,btnThree,btnSix,btnSeven,btnOne,btnNine,btnFour,btnFive,btnEight'中的任何按钮时第一次单击,然后执行此块:
If lblResult.Text = ("0") Then
lblResult.Text = btnNumber.Text
这意味着Label lblResult
的文字根据点击的按钮设置为0-9
之间的任意数字。例如,如果点击btnFive
,则lblResult
的文字将为5
,如果此按钮的文字属性为5
。如果单击按钮但不是第一次,则将执行Else
块。再例如,如果点击btnFour
,则假设您点击了' btnFive'在此之前,如果此按钮的文字属性为lblResult
,则54
的文字将为4
。再次点击btnOne
,它将是541
,依此类推。希望这有助于您理解代码。
答案 2 :(得分:0)
Privat Sub btn_Click(sender As Object
...
是一个事件处理程序。
sender
是接收Click事件的控件。
由于此处理程序设置了可以接收事件的完整控件列表,因此我们可以使用text
属性来确定单击哪个控件。
标签lblResult.text
的起始值是" 0"。因此,如果这就是标签中的所有内容,我们将使用单击的按钮的文本替换标签文本属性中的值。
如果已经点击了一个按钮,那么标签将没有" 0"了。在这种情况下,Else
部分将启动,标签会将单击按钮的文本附加到已存在的任何内容中。
您可以使用事件处理程序为计算器上的每个按钮编写此程序,并重复If...Else
代码,但这将是大量的输入。让一个处理程序更短,你可以编写并且行为相同。