Visual Basic Code Examples for Beginners: A Comprehensive Guide

Introduction

Visual Basic (VB) is a beginner-friendly programming language that has been widely used for developing Windows applications. Whether you're new to programming or transitioning from another language, Visual Basic provides an intuitive syntax and a robust development environment, making it an excellent choice for beginners.

This guide will introduce you to essential Visual Basic code examples, covering fundamental concepts such as variables, loops, conditional statements, functions, and object-oriented programming. By the end, you'll have a solid foundation to start building your own applications.

Table of Contents

  1. Setting Up Visual Basic

  2. Basic Syntax and Structure

  3. Variables and Data Types

  4. Conditional Statements (If-Else, Select Case)

  5. Loops (For, While, Do-While)

  6. Arrays and Collections

  7. Functions and Subroutines

  8. Error Handling

  9. Object-Oriented Programming in VB

  10. Building a Simple Windows Form Application

  11. FAQs

  12. Conclusion


1. Setting Up Visual Basic

Before diving into coding, you need to set up your development environment. Microsoft provides Visual Studio, which includes Visual Basic support.

Steps to Install Visual Studio:

  1. Download Visual Studio Community Edition (free) from Microsoft’s website.

  2. Run the installer and select ".NET desktop development" (includes VB support).

  3. Once installed, open Visual Studio and create a new "Windows Forms App (.NET Framework)" project.

Now, you’re ready to write your first Visual Basic program!


2. Basic Syntax and Structure

A simple VB program follows this structure:

vb

Module HelloWorld  

    Sub Main()  

        Console.WriteLine("Hello, World!")  

    End Sub  

End Module 

  • Module: Defines a code block.

  • Sub Main(): The entry point of the program.

  • Console.WriteLine(): Outputs text to the console.


3. Variables and Data Types

Variables store data, and VB supports several data types:

Data Type

Description

Example

Integer

Whole numbers

Dim age As Integer = 25

Double

Decimal numbers

Dim price As Double = 19.99

String

Text

Dim name As String = "John"

Boolean

True/False

Dim isActive As Boolean = True

Example:

vb

Dim message As String = "Welcome to VB!"  

Console.WriteLine(message) 


4. Conditional Statements (If-Else, Select Case)

If-Else Statement

vb

Dim number As Integer = 10  


If number > 0 Then  

    Console.WriteLine("Positive")  

ElseIf number < 0 Then  

    Console.WriteLine("Negative")  

Else  

    Console.WriteLine("Zero")  

End If 

Select Case Statement

vb

Dim day As Integer = 3  


Select Case day  

    Case 1  

        Console.WriteLine("Monday")  

    Case 2  

        Console.WriteLine("Tuesday")  

    Case Else  

        Console.WriteLine("Invalid day")  

End Select 


5. Loops (For, While, Do-While)

For Loop

vb

For i As Integer = 1 To 5  

    Console.WriteLine("Iteration: " & i)  

Next 

While Loop

vb

Dim count As Integer = 1  


While count <= 5  

    Console.WriteLine("Count: " & count)  

    count += 1  

End While 

Do-While Loop

vb

Dim num As Integer = 1  


Do  

    Console.WriteLine("Number: " & num)  

    num += 1  

Loop While num <= 5 


6. Arrays and Collections

Array Example

vb

Dim numbers() As Integer = {1, 2, 3, 4, 5}  


For Each num As Integer In numbers  

    Console.WriteLine(num)  

Next 

List Example

vb

Imports System.Collections.Generic  


Dim names As New List(Of String)  

names.Add("Alice")  

names.Add("Bob")  


For Each name In names  

    Console.WriteLine(name)  

Next 


7. Functions and Subroutines

Function (Returns a Value)

vb

Function AddNumbers(a As Integer, b As Integer) As Integer  

    Return a + b  

End Function  


Dim result As Integer = AddNumbers(5, 3)  

Console.WriteLine("Sum: " & result) 

Subroutine (No Return Value)

vb

Sub Greet(name As String)  

    Console.WriteLine("Hello, " & name)  

End Sub  


Greet("John") 


8. Error Handling (Try-Catch)

vb

Try  

    Dim x As Integer = 10 / 0 ' Division by zero error  

Catch ex As Exception  

    Console.WriteLine("Error: " & ex.Message)  

Finally  

    Console.WriteLine("Execution completed.")  

End Try 


9. Object-Oriented Programming in VB

Class and Object Example

vb

Class Person  

    Public Name As String  

    Public Age As Integer  


    Public Sub Display()  

        Console.WriteLine($"Name: {Name}, Age: {Age}")  

    End Sub  

End Class  


Dim person1 As New Person()  

person1.Name = "Alice"  

person1.Age = 30  

person1.Display() 


10. Building a Simple Windows Form Application

  1. Open Visual Studio and create a Windows Forms App (.NET Framework).

  2. Drag a Button and TextBox from the Toolbox onto the form.

  3. Double-click the button and add this code:

vb

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click  

    TextBox1.Text = "Hello, Visual Basic!"  

End Sub 

  1. Run the program and click the button to see the text change.


11. FAQs

1. Is Visual Basic still used in 2024?

Yes, VB is still used in legacy systems and some enterprise applications, though newer projects often use VB.NET or C#.

2. What is the difference between VB and VB.NET?

VB.NET is an updated, object-oriented version of classic VB, integrated into the .NET framework.

3. Can I build mobile apps with VB?

No, VB is primarily for desktop and web applications. For mobile, consider Xamarin or Flutter.

4. How do I debug a VB program?

Use Debug > Start Debugging in Visual Studio and set breakpoints.

5. What are the best resources to learn VB?

  • Microsoft’s official VB documentation

  • Online courses (Udemy, Coursera)

  • Books like "Visual Basic Programming for Beginners"

6. Can VB interact with databases?

Yes, using ADO.NET or Entity Framework.

7. Is VB case-sensitive?

No, VB is not case-sensitive.

8. How do I comment in VB?

Use ' for single-line comments or ''' for XML documentation.

9. What is the future of VB?

Microsoft has shifted focus to C#, but VB remains supported for maintenance.

10. Can I convert VB code to C#?

Yes, tools like Telerik Code Converter can automate this.


Exploring VB.NET for Advanced Features: A Deep Dive

While Visual Basic (VB) is an excellent language for beginners, VB.NET extends its capabilities with modern programming features, including full object-oriented support, advanced memory management, and seamless integration with the .NET Framework. If you're familiar with basic VB and want to take your skills further, this guide will explore advanced VB.NET concepts, including:

  • Object-Oriented Programming (OOP) in VB.NET

  • Exception Handling and Debugging

  • Working with Databases (ADO.NET & Entity Framework)

  • Multithreading and Asynchronous Programming

  • Windows Forms and WPF for Modern UIs

  • Interoperability with C# and Other .NET Languages

By the end of this guide, you'll understand how to leverage VB.NET for professional software development.


1. Object-Oriented Programming (OOP) in VB.NET

VB.NET fully supports OOP principles, including:

Classes and Objects

vb

Public Class Person  

    Public Property Name As String  

    Public Property Age As Integer  


    Public Sub DisplayInfo()  

        Console.WriteLine($"Name: {Name}, Age: {Age}")  

    End Sub  

End Class  


' Usage  

Dim person1 As New Person()  

person1.Name = "Alice"  

person1.Age = 30  

person1.DisplayInfo() 

Inheritance

vb

Public Class Employee  

    Inherits Person  

    Public Property EmployeeId As Integer  

End Class  


Dim emp As New Employee()  

emp.Name = "Bob"  

emp.Age = 25  

emp.EmployeeId = 1001  

emp.DisplayInfo() 

Polymorphism (Method Overriding)

vb

Public Class Animal  

    Public Overridable Sub MakeSound()  

        Console.WriteLine("Some sound")  

    End Sub  

End Class  


Public Class Dog  

    Inherits Animal  


    Public Overrides Sub MakeSound()  

        Console.WriteLine("Bark!")  

    End Sub  

End Class  


Dim myDog As New Dog()  

myDog.MakeSound() ' Output: Bark! 

Interfaces

vb

Public Interface IDrawable  

    Sub Draw()  

End Interface  


Public Class Circle  

    Implements IDrawable  


    Public Sub Draw() Implements IDrawable.Draw  

        Console.WriteLine("Drawing a circle")  

    End Sub  

End Class  


Dim shape As IDrawable = New Circle()  

shape.Draw() 


2. Exception Handling and Debugging

Structured Exception Handling (Try-Catch-Finally)

vb

Try  

    Dim result As Integer = 10 / 0 ' Throws DivideByZeroException  

Catch ex As DivideByZeroException  

    Console.WriteLine("Cannot divide by zero!")  

Catch ex As Exception  

    Console.WriteLine($"Error: {ex.Message}")  

Finally  

    Console.WriteLine("Cleanup code here")  

End Try 

Custom Exceptions

vb

Public Class InvalidAgeException  

    Inherits Exception  


    Public Sub New(message As String)  

        MyBase.New(message)  

    End Sub  

End Class  


Sub SetAge(age As Integer)  

    If age < 0 Then  

        Throw New InvalidAgeException("Age cannot be negative")  

    End If  

End Sub 

Debugging Tools in Visual Studio

  • Breakpoints (F9)

  • Watch Window (Debug > Windows > Watch)

  • Immediate Window (Debug > Windows > Immediate)


3. Working with Databases (ADO.NET & Entity Framework)

ADO.NET Example (SQL Server)

vb

Imports System.Data.SqlClient  


Dim connectionString As String = "Server=.;Database=TestDB;Integrated Security=True;"  

Dim query As String = "SELECT * FROM Employees"  


Using conn As New SqlConnection(connectionString)  

    conn.Open()  

    Dim cmd As New SqlCommand(query, conn)  

    Dim reader As SqlDataReader = cmd.ExecuteReader()  


    While reader.Read()  

        Console.WriteLine($"ID: {reader("Id")}, Name: {reader("Name")}")  

    End While  

End Using 

Entity Framework (Code-First Approach)

  1. Install Entity Framework via NuGet:

  2. text

  3. Install-Package EntityFramework 

  4. Define a model and DbContext:

  5. vb

Public Class Employee  

    Public Property Id As Integer  

    Public Property Name As String  

End Class  


Public Class AppDbContext  

    Inherits DbContext  


    Public Property Employees As DbSet(Of Employee)  

  1. End Class 

  2. Query data:

  3. vb

Using db As New AppDbContext()  

    Dim employees = db.Employees.ToList()  

    For Each emp In employees  

        Console.WriteLine(emp.Name)  

    Next  

  1. End Using 


4. Multithreading and Asynchronous Programming

Threading (Basic Example)

vb

Imports System.Threading  


Sub PrintNumbers()  

    For i As Integer = 1 To 5  

        Console.WriteLine($"Thread: {Thread.CurrentThread.ManagedThreadId}, Number: {i}")  

        Thread.Sleep(1000)  

    Next  

End Sub  


Dim thread1 As New Thread(AddressOf PrintNumbers)  

Dim thread2 As New Thread(AddressOf PrintNumbers)  


thread1.Start()  

thread2.Start() 

Async/Await (Modern Approach)

vb

Imports System.Net.Http  


Async Function FetchDataAsync() As Task(Of String)  

    Using client As New HttpClient()  

        Dim response = Await client.GetAsync("https://jsonplaceholder.typicode.com/posts/1")  

        Return Await response.Content.ReadAsStringAsync()  

    End Using  

End Function  


' Usage  

Dim result = Await FetchDataAsync()  

Console.WriteLine(result) 


5. Windows Forms and WPF for Modern UIs

Windows Forms (Event Handling)

vb

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click  

    MessageBox.Show("Button Clicked!")  

End Sub 

WPF (XAML + VB.NET)

xml

<!-- MainWindow.xaml -->  

<Window x:Class="WpfApp.MainWindow"  

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  

        Title="WPF App" Height="350" Width="525">  

    <Button Content="Click Me" Click="Button_Click" />  

</Window> 

vb

' MainWindow.xaml.vb  

Private Sub Button_Click(sender As Object, e As RoutedEventArgs)  

    MessageBox.Show("WPF Button Clicked!")  

End Sub 


6. Interoperability with C# and Other .NET Languages

VB.NET can work seamlessly with C# in the same solution:

  • Reference C# DLLs in VB.NET projects (and vice versa).

  • Use NuGet packages (e.g., Newtonsoft.Json) in both languages.

Example (Calling a C# method from VB.NET):

csharp

// C# Class Library  

public class Calculator  

{  

    public static int Add(int a, int b) => a + b;  

} 

vb

' VB.NET Usage  

Dim sum = Calculator.Add(5, 3)  

Console.WriteLine(sum) ' Output: 8 


Previous Post Next Post

نموذج الاتصال