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
- 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.