Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 这段代码背后的逻辑是什么?它是如何工作的?_.net_Vb.net - Fatal编程技术网

.net 这段代码背后的逻辑是什么?它是如何工作的?

.net 这段代码背后的逻辑是什么?它是如何工作的?,.net,vb.net,.net,Vb.net,我正在使用一个简单的计算器,我不理解这个逻辑,这里有一个参考提示:当点击按钮时,结果标签将重置为btnNumber的文本,或者将追加btnNumber的文本。当`btnZero,btnTwo,btntree,btnSix,btnSeven,第一次单击“BTONE、btnNine、btnFour、btnFive、btnEight”,然后执行此块: Public Class Form1 Private Sub btn_Click(sender As Object, e As EventAr

我正在使用一个简单的计算器,我不理解这个逻辑,这里有一个参考提示:

当点击按钮时,结果标签将重置为
btnNumber
的文本,或者将追加
btnNumber
的文本。

当`btnZero,btnTwo,btntree,btnSix,btnSeven,第一次单击“BTONE、btnNine、btnFour、btnFive、btnEight”,然后执行此块:

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
这意味着根据单击的按钮,标签lblResult的文本设置为
0-9
之间的任意数字。例如,如果单击了
btnFive
,则如果此按钮的文本属性为
5
,则
lblResult
的文本将为
5
。如果按钮被单击但不是第一次,则将执行
Else
块。同样,例如,如果单击了
btnFour
,假设您在其前面单击了“btnFive”,则如果此按钮的文本属性为
4
,则
lblResult
的文本将为
54
。如果再次单击
btnOne
,它将是
541
,依此类推。希望这有助于您理解代码。

Privat Sub-btn\u单击(发送者为对象)
。。。 是一个事件处理程序

sender
是接收单击事件的控件

由于此处理程序是使用可能已接收事件的整个控件列表设置的,因此我们可以使用
text
属性来确定单击了哪个控件

标签
lblResult.text
的起始值为“0”。因此,如果标签中只有这些值,我们将用单击的按钮文本替换标签文本属性中的值

如果按钮已被单击,则标签将不再具有“0”。在这种情况下,
Else
部分将生效,标签将把已单击按钮的文本附加到已存在的内容上

您可以为计算器上的每个按钮编写一个事件处理程序,并重复
If…Else
代码,但这将需要大量的键入。有一个处理程序对您来说编写时间更短,并且行为相同

If lblResult.Text = ("0") Then
   lblResult.Text = btnNumber.Text