VB.NET GUI
Basic Calculator
In the previous sections, we displayed text in console window (black
background window). In this section, you will learn to use window forms and
other useful components and controls to create GUI applications that
increase interactivity.
Step1: Create a project (Windows Forms Application)
File->New-> Project...
Step2: Design interface
-Click on Toolbox in the left site to extend it. You will a list of controls as shown in below:
-Drag and drop one textbox and rename it to txtbox(change text in Name field
of the properties window to txtbox).
Note:
To open Properties window of a control, right-click the control and click
Properties.
-Drag and drop 21 command buttons
-Rename button0 to cmd0, button1 to cmd1, button2 to cmd2, button3 to
cmd3, button4 to cmd4, button5 to cmd5, button6 to cmd6, button7
to cmd7, button8 to cmd8, button9 to cmd9, button10 to cmdequal, button11 to
cmdclear, button 12 to cmdadd, button13 to cmdsubtract, button14 to
cmdmultiply, button15 to cmddivide, button16 to cmdsquare, button17 to
cmdsqtr, button 18 to cmdcos, button19 to cmd sin, button20 to cmdtan.
-The caption of each button also needs to be changed. For example, you
need to change the caption of button0 to 0, button1 to 1, button 2 to
2...etc.
Step3: Write code
To attach code to a control, you need to double-click the control to open
code editor. And then you just copy code and paste it.
'Declaring global variables in General section of the form
Dim sign As String
Dim val1 As Double
Dim val2 As Double
Private Sub cmd0_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmd0.Click
txtbox.Text = txtbox.Text & cmd0.Caption 'get 0
End Sub
Private Sub cmd1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmd1.Click
txtbox.Text = txtbox.Text & cmd1.Caption 'get 1
End Sub
Private Sub cmd2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmd2.Click
txtbox.Text = txtbox.Text & cmd2.Caption 'get 2
End Sub
Private Sub cmd3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmd3.Click
txtbox.Text = txtbox.Text & cmd3.Caption 'get 3
End Sub
Private Sub cmd4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmd4.Click
txtbox.Text = txtbox.Text & cmd4.Caption 'get 4
End Sub
Private Sub cmd5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmd5.Click
txtbox.Text = txtbox.Text & cmd5.Caption 'get 5
End Sub
Private Sub cmd6_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handle cmd6.Click
txtbox.Text = txtbox.Text & cmd6.Caption 'get 6
End Sub
Private Sub cmd7_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmd7.Click
txtbox.Text = txtbox.Text & cmd7.Caption 'get 7
End Sub
Private Sub cmd8_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmd8.Click
txtbox.Text = txtbox.Text & cmd8.Caption 'get 8
End Sub
Private Sub cmd9_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmd9.Click
txtbox.Text = txtbox.Text & cmd9.Caption 'get 9
End Sub
Private Sub cmdclear_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdclear.Click
'clear Texts
txtbox.Text = ""
val1 = 0
val2 = 0
sign = ""
End Sub
Private Sub cmdcos_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdcos.Click
Dim v As Double
On Error GoTo aa
v = CDbl(txtbox.Text)
txtbox.Text = Math.Cos(v)
aa: Exit Sub
End Sub
Private Sub cmddivide_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmddivide.Click
sign = "/"
On Error GoTo aa
val1 = CDbl(txtbox.Text)
txtbox.Text = ""
aa: Exit Sub
End Sub
Private Sub cmdequal_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdequal.Click
On Error GoTo aa
val2 = CDbl(txtbox.Text)
If (sign = "+") Then
txtbox.Text = val1 + val2
ElseIf (sign = "-") Then
txtbox.Text = val1 - val2
ElseIf (sign = "*") Then
txtbox.Text = val1 * val2
Else: txtbox.Text = val1 / val2
End If
aa: Exit Sub
End Sub
Private Sub cmdmultiply_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdmultiply.Click
sign = "*"
On Error GoTo aa
val1 = CDbl(txtbox.Text)
txtbox.Text = ""
aa: Exit Sub
End Sub
Private Sub cmdplus_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdplus.Click
sign = "+"
On Error GoTo aa
val1 = CDbl(txtbox.Text)
txtbox.Text = ""
aa: Exit Sub
End Sub
Private Sub cmdsin_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdsin.Click
Dim v As Double
On Error GoTo aa
v = CDbl(txtbox.Text)
txtbox.Text = Math.Sin(v)
aa: Exit Sub
End Sub
Private Sub cmdsqare_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdsquare.Click
Dim v As Double
On Error GoTo aa
v = CDbl(txtbox.Text)
txtbox.Text = v ^ 2
aa: Exit Sub
End Sub
Private Sub cmdsqrt_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdsqrt.Click
Dim v As Double
On Error GoTo aa
v = CDbl(txtbox.Text)
txtbox.Text = Math.Sqr(v)
aa: Exit Sub
End Sub
Private Sub cmdsubtract_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdsubtract.Click
sign = "-"
On Error GoTo aa
val1 = CDbl(txtbox.Text)
txtbox.Text = ""
aa: Exit Sub
End Sub
Private Sub cmdtan_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdtan.Click
Dim v As Double
On Error GoTo aa
v = CDbl(txtbox.Text)
txtbox.Text = Math.Tan(v)
aa: Exit Sub
End Sub
Private Sub txtbox_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtbox.KeyPress
'Allow only
number, dot, and backspace characters
If Asc(e.KeyChar)
>= Asc("0") And Asc(e.KeyChar) <= Asc("9") Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar)
= 46 Then
Exit Sub
Else
e.KeyChar = ""
End If
End Sub
|
|
-
Why and How to learn
- C programming language?
- C++ programming language?
- C# programming language?
- Java programming language?
- Python programming language?
- VB programming language?
|
|