⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cacl.vb

📁 vb。net 2003数据库设计整套源代码
💻 VB
📖 第 1 页 / 共 2 页
字号:
        '
        Me.Calc5.FlatStyle = System.Windows.Forms.FlatStyle.Popup
        Me.Calc5.Location = New System.Drawing.Point(56, 88)
        Me.Calc5.Name = "Calc5"
        Me.Calc5.Size = New System.Drawing.Size(30, 30)
        Me.Calc5.TabIndex = 7
        Me.Calc5.Text = "5"
        '
        'CalcDec
        '
        Me.CalcDec.FlatStyle = System.Windows.Forms.FlatStyle.Popup
        Me.CalcDec.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
        Me.CalcDec.Location = New System.Drawing.Point(96, 168)
        Me.CalcDec.Name = "CalcDec"
        Me.CalcDec.Size = New System.Drawing.Size(30, 30)
        Me.CalcDec.TabIndex = 18
        Me.CalcDec.Text = "."
        '
        'Calc1
        '
        Me.Calc1.FlatStyle = System.Windows.Forms.FlatStyle.Popup
        Me.Calc1.Location = New System.Drawing.Point(16, 128)
        Me.Calc1.Name = "Calc1"
        Me.Calc1.Size = New System.Drawing.Size(30, 30)
        Me.Calc1.TabIndex = 11
        Me.Calc1.Text = "1"
        '
        'CalcMul
        '
        Me.CalcMul.FlatStyle = System.Windows.Forms.FlatStyle.Popup
        Me.CalcMul.Location = New System.Drawing.Point(136, 88)
        Me.CalcMul.Name = "CalcMul"
        Me.CalcMul.Size = New System.Drawing.Size(30, 30)
        Me.CalcMul.TabIndex = 9
        Me.CalcMul.Text = "*"
        '
        'Calculator
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(224, 211)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.CalcRes, Me.CalcPlus, Me.CalcDec, Me.CalcSign, Me.Calc0, Me.CalcCan, Me.CalcSub, Me.Calc3, Me.Calc2, Me.Calc1, Me.CalcCE, Me.CalcMul, Me.Calc6, Me.Calc5, Me.Calc4, Me.CalcBS, Me.CalcDiv, Me.Calc9, Me.Calc8, Me.Calc7, Me.CalcField})
        Me.Font = New System.Drawing.Font("Arial", 8.0!)
        Me.MaximizeBox = False
        Me.Menu = Me.CalcMenu
        Me.Name = "Calculator"
        Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
        Me.Text = "计算器"
        Me.ResumeLayout(False)

    End Sub

#End Region

    'BS Click 事件
    Protected Sub CalcBS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcBS.Click
        Dim Value As String
        Value = CalcField.Text

        If ((Value.CompareTo("0.") <> 0) And (Value.Length <> 0)) Then
            Value = Value.Remove(Value.Length - 1, 1)
        End If

        If ((Value.Length = 0) Or (Value = "-")) Then
            Value = "0."
        End If

        CalcField.Text = Value
    End Sub

    '取消 Click 事件
    Protected Sub CalcCan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcCan.Click
        Reset()
    End Sub

    '取消项 Click 事件
    Protected Sub CalcCE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcCE.Click
        If (mLastInput.Equals(Operation.Operand)) Then
            CalcField.Text = "0."
        ElseIf (mLastInput.Equals(Operation.Operator)) Then
            mOpFlag = mOpPrev
        End If

        mLastInput = Operation.CE
    End Sub

    Protected Sub CalcDiv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcDiv.Click
        CalcRes_Click(sender, e)
    End Sub

    '+, -, *, /, = Click 事件!
    Protected Sub CalcRes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcRes.Click
        If (CalcField.Text.Length = 0) Then
            Return
        End If

        If (mLastInput.Equals(Operation.Operand)) Then
            mNumOps = mNumOps + 1
        End If

        Select Case mNumOps
            Case 1
                mOp1 = Double.Parse(CalcField.Text)

            Case 2
                mOp2 = Double.Parse(CalcField.Text)

                Select Case mOpFlag
                    Case "+"
                        mOp1 = mOp1 + mOp2

                    Case "-"
                        mOp1 = mOp1 - mOp2

                    Case "*"
                        mOp1 = mOp1 * mOp2

                    Case "/"
                        If (mOp2 = 0) Then
                            MessageBox.Show("不能被零除!", "计算器", MessageBoxButtons.OK)
                        Else
                            mOp1 = mOp1 / mOp2
                        End If

                    Case "="
                        mOp1 = mOp2
                End Select

                CalcField.Text = mOp1.ToString()
                mNumOps = 1
        End Select

        mLastInput = Operation.Operator
        mOpPrev = mOpFlag

        Dim SelButton As Button
        SelButton = sender
        mOpFlag = SelButton.Text
    End Sub

    Protected Sub CalcSub_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcSub.Click
        CalcRes_Click(sender, e)
    End Sub

    Protected Sub CalcMul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcMul.Click
        CalcRes_Click(sender, e)
    End Sub

    Protected Sub CalcPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcPlus.Click
        CalcRes_Click(sender, e)
    End Sub

    '+/- Click 事件    
    Protected Sub CalcSign_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcSign.Click
        If (CalcField().Text.Substring(0, 1) = "-") Then
            CalcField().Text = CalcField().Text.TrimStart(mMinus.ToCharArray())
        Else
            CalcField().Text = mMinus + CalcField().Text
        End If

        mLastInput = Operation.Operand
    End Sub

    Protected Sub Calc5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calc5.Click
        CalcNum_Click(sender, e)
    End Sub

    Protected Sub Calc3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calc3.Click
        CalcNum_Click(sender, e)
    End Sub

    Protected Sub Calc1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calc1.Click
        CalcNum_Click(sender, e)
    End Sub

    Protected Sub Calc4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calc4.Click
        CalcNum_Click(sender, e)
    End Sub

    Protected Sub Calc9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calc9.Click
        CalcNum_Click(sender, e)
    End Sub

    Protected Sub CalcDec_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcDec.Click
        CalcNum_Click(sender, e)
    End Sub

    Protected Sub Calc8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calc8.Click
        CalcNum_Click(sender, e)
    End Sub

    Protected Sub Calc2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calc2.Click
        CalcNum_Click(sender, e)
    End Sub

    Protected Sub Calc0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calc0.Click
        CalcNum_Click(sender, e)
    End Sub

    Protected Sub Calc7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calc7.Click
        CalcNum_Click(sender, e)
    End Sub

    Protected Sub Calc6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calc6.Click
        CalcNum_Click(sender, e)
    End Sub

    '0 - 9, .、Click 事件
    Protected Sub CalcNum_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        If (mLastInput.Equals(Operation.Operand) = False) Then
            CalcField.Text = "0."
        End If

        Dim SelButton As Button
        SelButton = sender
        FormatEditField(SelButton.Text)

        mLastInput = Operation.Operand
    End Sub

    '退出菜单处理程序
    Protected Sub ExitMenu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Application.Exit()
    End Sub

    '专用帮助器
    '用于格式化文本框中的项的帮助器!
    Private Sub FormatEditField(ByVal NewChar As String)
        Dim Value As String
        Value = CalcField.Text

        If (Value.CompareTo("0.") = 0) Then
            Value = NewChar
        Else
            '确定是否有多个 .
            If (NewChar = ".") Then
                '如果找到它,则返回
                If (Value.IndexOf(NewChar) <> -1) Then
                    '不要执行任何操作
                    Return
                End If
            End If

            Value = Value + NewChar
        End If

        CalcField.Text = Value
    End Sub

    ' 用于初始化值的帮助器
    Private Sub Reset()
        mOp1 = 0
        mOp2 = 0

        mNumOps = 0
        mLastInput = Operation.None

        mOpFlag = ""
        mOpPrev = ""

        CalcField.Text = "0."
    End Sub

End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -