Solved

Closing Forms

Posted on 2004-09-10
12
167 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
VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

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

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction When many people think of the WebBrowser (http://msdn.microsoft.com/en-us/library/2te2y1x6%28v=VS.85%29.aspx) control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

803 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