Solved

Closing Forms

Posted on 2004-09-10
12
164 Views
Last Modified: 2010-04-23
Hi

When my program loads it will show a login form that i have created. After the user has successfully entered a correct username and password a form is loaded depending on their privelleges. What i want to know is how do you close this main form without shutting down the whole program as it does.

if I open another form then go me.close() the program will shutdown. I can hide the form but when the user closes the other window i displayed to them the program will stay running.

Is there anyway to close the main form without shutting down the program?

thanks
0
Comment
Question by:adam_pedley
  • 5
  • 3
  • 2
  • +2
12 Comments
 
LVL 10

Expert Comment

by:anv
ID: 12024518
try this

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

        Dim fr As New Form2()
        fr.Show()
        Me.Hide() 'hide current form
    End Sub
0
 
LVL 4

Author Comment

by:adam_pedley
ID: 12024525
if I open another form then go me.close() the program will shutdown. I can hide the form but when the user closes the other window i displayed to them the program will stay running.
0
 
LVL 10

Expert Comment

by:anv
ID: 12024541
use
the keyword

 End
in the event when u want to close the whole application
0
 
LVL 4

Author Comment

by:adam_pedley
ID: 12024550
how would you specify the event of a form closing
0
 
LVL 10

Expert Comment

by:anv
ID: 12024579
hi adam_pedley

what i mean was
when say on form2 u have a button called Close when this button is clicked u want to close the whole application..

then in the click event of close add the statement
End

and the application will close..

0
 
LVL 4

Author Comment

by:adam_pedley
ID: 12024588
but like vb6 isnt there an event that on closing the form, code can be run?
0
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 
LVL 25

Expert Comment

by:RonaldBiemans
ID: 12024743
Hi Adam,

Question

Some users can get a different form depending on their priviliges,

or

the same form with different controls ?
0
 
LVL 4

Author Comment

by:adam_pedley
ID: 12024747
different form
0
 
LVL 25

Expert Comment

by:RonaldBiemans
ID: 12024876
Hi Adam,
 Instead of starting the login form,  make a sub main in a module

like

Imports System.Windows.Forms

Module MainModule
    Public mainForm As mainForm
    Private LoginForm As LoginForm
    Private appContext As ApplicationContext

    Sub Main()
        StartApplication()
        ShowLoginScreen()
        ShowMainForm()
        ReadEvents()
        Cleanup()
    End Sub

    Sub StartApplication()
        appContext = New ApplicationContext()
    End Sub

    Sub ShowLoginScreen()
        LoginForm = New loginForm()
        LoginForm.ShowDialog()
    End Sub

    Sub ShowMainForm()
        mainForm = New MainForm()
        mainForm.Show()
    End Sub


    Sub ReadEvents()
        appContext.MainForm = mainForm
        Application.Run(appContext)
        ' Application will exit when closing mainForm
    End Sub

    Sub Cleanup()
        ' Garbage collection here
    End Sub
End Module
0
 
LVL 18

Accepted Solution

by:
DotNetLover_Baan earned 500 total points
ID: 12026318
>>"but like vb6 isnt there an event that on closing the form, code can be run"<< yes there is. Use the "Base Class Event" that is events associated with the form. and pick Form_Closing.
-@Baan
0
 
LVL 8

Expert Comment

by:wguerram
ID: 12026785
The form will be runned in another thread, so your app won't exit.
In your main form

Imports System.Threading


 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       
        Dim t As New Thread(AddressOf RunForm)
        t.Start()
End Sub

 Private Sub RunForm()
        Dim f As New Form1
        Application.Run(f)
 End Sub
0
 
LVL 4

Author Comment

by:adam_pedley
ID: 12040332
i decided to run code when the form was closing using the  Handles MyBase.Closed
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now