啊打計算機 Odd Calculator


Label元件 *2, Button元件 *8

x, y宣告為程序層次變數 (Declare variable in event procedures)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 Title.Text = "x=27,y=4"
End Sub

Private Sub Clear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Clear.Click
 Ans.Text = ""
End Sub

Private Sub plus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles plus.Click
 Dim x As Integer, y As Integer
 x = 27 : y = 4
 Ans.Text = "x+y=" & x + y
End Sub

Private Sub Minus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Minus.Click
 Dim x As Integer, y As Integer
 x = 27 : y = 4
 Ans.Text = "x-y=" & x - y
End Sub

Private Sub Times_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Times.Click
 Dim x As Integer, y As Integer
 x = 27 : y = 4
 Ans.Text = "x*y=" & x * y
End Sub

Private Sub Divide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Divide.Click
 Dim x As Integer, y As Integer
 x = 27 : y = 4
 Ans.Text = "x/y=" & x / y
End Sub

Private Sub Quotient_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Quotient.Click
 Dim x As Integer, y As Integer
 x = 27 : y = 4
 Ans.Text = "x\y=" & x \ y
End Sub

Private Sub Remainder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Remainder.Click
 Dim x As Integer, y As Integer
 x = 27 : y = 4
 Ans.Text = "x Mod y=" & x Mod y
End Sub

Private Sub Power_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Power.Click
 Dim x As Integer, y As Integer
 x = 27 : y = 4
 Ans.Text = "x^y=" & x ^ y
End Sub

改良1

 

宣告類別層次變數(Declare variables outside event procedures, in class leve)

Public Class Form1
 

Dim x As Integer, y As Integer
 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles plus.Click
 x = 27 : y = 4

 Title.Text = "x=27,y=4"
End Sub

Private Sub plus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles plus.Click
  Ans.Text = "x+y=" & x + y
End Sub

Private Sub Minus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Minus.Click
 Ans.Text = "x-y=" & x - y
End Sub
...
...
...
End Class


改良2

 

固定位址顯示

Public Class Form1
Dim x As Integer, y As Integer

...

....
Private Sub plus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles plus.Click
 Ans.Location = New Point(10, 50)
 Ans.Text = "x+y=" & x + y
End Sub

Private Sub Minus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Minus.Click
 Ans.Location = New Point(10, 50)
 Ans.Text = "x-y=" & x - y
End Sub
...
...
...
End Class


改良3

 

再加入 TextBox元件 *2, Label元件 *2

.............

Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
 x = Val(TextBox1.Text) : y = Val(TextBox2.Text)
End Sub

Private Sub TextBox2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
 x = Val(TextBox1.Text) : y = Val(TextBox2.Text)
End Sub

..............