How to Pass Value from One Form to another Form

I think it’s time again to teach you on the features that can be found on my program like Hotel Reservation System (VB.NET).

A while ago I received a comment on how to pass value from one form to another form. Although I have already done this in almost all of my program but I know that some of you miss the opportunity to analyze it due to the complexity of the program.

Without further ado, let us take the example from Hotel Reservation System (VB.NET).

In frmRoomWindow form you can see the following code:

With frmCheckIn .State = modGlobal.FormState.adStateEditMode 'Line two .RoomNumber = intRoomNumber ' Line three .ShowDialog() Call FillList() End With

The line two and three will pass a value to State and RoomNumber variable. In order to pass this value the receiving form which is frmCheckIn needs to define these variables first, as shown below:

Friend Class frmCheckIn Inherits System.Windows.Forms.Form Dim daTransactions As New OleDbDataAdapter() Dim dsTransactions As New DataSet() Dim cnHotel As OleDbConnection Public RoomNumber As Integer 'Line eight Public State As modGlobal.FormState 'Line nine Public FolioNumber As String Public AmountPaid As Decimal Public OtherCharges As Decimal Public blnChangeRoom As Boolean Private IsInitializing As Boolean

As you can see in the line eight and nine RoomNumber and State is define here as public variable. Declaring this variable as public is very important to receive a value from other form, or else it cannot receive any value.

As it is already been defined at the module level of the form then you can call it anywhere in your code like in the Form_Load event. Example:

Private Sub frmCheckIn_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If State = modGlobal.FormState.adStateAddMode Then txtRoomNumber.Text = CStr(RoomNumber) dtpDateIn.Value = Today dtpDateOut.Value = DateTime.Now.AddDays(1) End Sub

I hope this helps.

Comments

Submitted byAnonymous (not verified)on Thu, 10/15/2009 - 05:03

thx u
Submitted byjenico_345on Fri, 10/16/2009 - 09:00

sir im a fan of your work and i really appreciate all of the works here. i would like to know how to backup and restore mysql database using vb.net. im using visual studio 2008. tnx for any help!
Submitted bycobol101on Mon, 11/02/2009 - 10:21

How are u doing bro? Am good. You are doing a good thing helping us out with programming and databases.Me and my friends really appreciate your help. I'm currently developing a student attendance management system. Please if you have an idea how to go about it, i would appreciate it bro. Thanx a lot Bless u!

For easy coding, it is ok to use public variables. But if we are concerned about proper program design, we must remember that in .NET, a form is treated as a class. Therefore, having public variables breaks the encapsulation principle of OOP. To solve this issue, we may implement a property to get or set value of a variable. for Example: public partial class CheckinForm: Form { int roomNumber; string folioNumber; public frmSplash() { InitializeComponent(); } public int RoomNumber { get { return roomNumber;} set { roomNumbr = value;} } public string FolioNumber { get { return folioNumber; } set { folioNumber = value; } } } So if you are to pass a value from a form to another form, you will use something like this: CheckInForm checkInForm = new CheckInForm(); checkInForm.RoomNumber = ; checkInForm.FolioNumber = ;
Submitted byAnonymous (not verified)on Wed, 01/13/2010 - 13:50

passing a value form one form to another form1 using simple codes. .
Submitted byAnonymous (not verified)on Tue, 02/02/2010 - 11:19

how to embed a access database file on a visual basic 6.0 program?

Add new comment