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.

VB Basic Calculator 

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




HTML Comment Box is loading comments...



This website intents to provide free and high quality tutorials, examples, exercises and solutions, questions and answers of programming and scripting languages:
C, C++, C#, Java, VB.NET, Python, VBA,PHP & Mysql, SQL, JSP, ASP.NET,HTML, CSS, JQuery, JavaScript and other applications such as MS Excel, MS Access, and MS Word. However, we don't guarantee all things of the web are accurate. If you find any error, please report it then we will take actions to correct it as soon as possible.