View Full Version : Visual Basic HELP
dcf-joe
03-05-2008, 03:44 AM
I use VB 2008 Express Edition, and I cannot get my multiple form application to work correctly. I am trying to get frmNext to show up after frmInput is done. So, in frmInput's button click event, I type in strName = TextBox1.Text, frmNext.Show(), and Unload frmInput. Unload does not work in vb 2008 anymore I guess, because it gave me an error. So, I typed in Me.Close(), which closes the application altogether. So, I decided to go into frmNext's form load event and type in Me.Text = strName and frmInput.Close(), which causes the entire program to close. I need help getting frmNext to show up and frmInput to close down.
ShadowFold
03-05-2008, 03:46 AM
Ah im not that great yet but could you post the whole code? I could probly help ive been using it for a few years now.
dcf-joe
03-05-2008, 03:55 AM
Option Explicit On
Module Module1
Public strName As String
End Module
Option Explicit On
Public Class frmInput
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
strName = TextBox1.Text
frmNext.Show()
Me.Close()
End Sub
End Class
Option Explicit On
Public Class frmNext
Private Sub frmNext_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = strName
End Sub
End Class
Kreij
03-05-2008, 12:54 PM
Create a module with a Sub "Main"
Imports System.Windows.Forms
Module Module1
Sub Main()
Dim frmInput as new FormInput
frmInput.Show()
Application.Run() // This starts the App without a start-up main form
End Sub
End Module
In the Input Form (which will load as the default form)
Private closeApp as Boolean = True
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) handles Button1.Click
closeApp = False;
Dim nextFrm As New NextForm
nextFrm.Show()
Me.Close()
End Sub
// Just in case you want to kill the App from this form
Private Sub InputForm_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
If closeApp Then
Application.Exit()
End If
End Sub
In Next Form, use something like this to close the Application
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Application.Exit()
End Sub
This is not the most robust way of doing this, but it should work for you.
Oliver_FF
03-05-2008, 01:07 PM
Whenever I wanted to do something like that back in the day, i'd simply change the visibility of the form
frm.setVisible(true); to display it
frm.setVisible(false); to hide it
Kreij
03-05-2008, 01:11 PM
Whenever I wanted to do something like that back in the day, i'd simply change the visibility of the form
frm.setVisible(true); to display it
frm.setVisible(false); to hide it
That works okay, but then you have unneeded components and their associated resources hanging around eating up stack and heap space (RAM). It is better to dispose of the unneeded resource so that the garbage collector can clean up after you.
Kreij
03-05-2008, 01:36 PM
After some quick perusing ...
You may just be able to go into your projects properties page, and under the Application tab set the "Shutdown mode" to "After last form closes" instead of the default "When main form closes".
vBulletin® v3.7.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd.