VS 2008 Closing All Forms When Program Closes Vs. Closing All But Main Form
Jun 4, 2010
Dim frm As Form
For Each frm In Forms
Set frm = Nothing
Next frm
The above code is what I used in VB6 to close all forms associated with my programs before my program closed. I have been searching for information on how to make sure all forms are closed when closing a VB2008 program.
I have seen info on using the Project Property Shutdown mode When startup form closes and I currently have this set.
Is this all that is really necessary? Will the garbage disposal close everything else to free up RAM?
Also, if I have several forms open and want to close all from the main form without closing each one individually, what is the best approach? Is there a collection like in VB6, go through the collection, compare it to the name of the main form and close it if it is not the main form?
I've made a Windows Forms Application that runs fine. It has some buttons that open child forms, which can simply close again without any problem. As I need the form to be in a dll, I changed the application type to a class library and added an extra project containing an exe-file that only references the main form in the dll and shows it. So far so good...
The main form is basically a tabcontrol with a bunch of controls, buttons among others. Five buttons on different tabs use the same handler to open a child form. When I click the button on the first tab everything works fine. The form opens and when it closes, only the child closes. When I click any of the buttons on the other tabs, the child form opens and when it closes again, both the child and the main form close...
I am stumped, especially since all buttons use the same code to open the child form and everything appears to be completely identical, yet the results are not. Below I have pasted the code that opens the main and child forms. I am undoubtedly not looking in the right place, but I also have no idea where to look anymore, let alone what to look for...
The code opening the main form: Public Sub StartProgram() 'Load the form and show it Dim frmProgram As frmMain = New frmMain
Form1 is a mdi container. It has a bunch of forms that can load inside of it as mdi children. If I close each open form inside the form1, and then click the red X at the top right, application exits fine.If I click the red X without closing the forms inside I get: An unhandled exception of type 'System.CannotUnloadAppDomainException' occurred in mscorlib.dll
Additional information: Error while unloading appdomain. (Exception from HRESULT: 0x80131015) However I can break from it. How do I get the application to not show that error? What must I do to fix those inside forms or close when the red x is clicked?
Ok i have a login window which connects to a MySQL database and authenticates the user. Works perfect, BUT
If rowsEffected > 0 Then cnMySQL.Close() LoginForm1.Close() MainForm.Show() Else cnMySQL.Close() MsgBox("Login Failed!") End If
That's supposed to close the login form and open the main form if the query returned a positive match of the login information. The login works, closes the login form, opens the main form, than mysteriously exits the application. I'm guessing its something simple but i don't see it .. the main form has nothing in it besides some inputs and labels no subs at all and if i change the form which the program starts to to the main form it runs as designed.
I know usually if you start your program from a module and use Application.Run() you can keep the thread open, but this is all forms no background work so i didn't want to go that direction.P.S. i just removed LoginForm1.Close() and it logs me in fine and opens the main form fine and keeps the app running but the login form is still open.
Everytime I execute my program, the main form closes by itself after about 15 seconds. The code is not the problem because it does the same thing when I put the whole code in comments. It's also not a key problem because it closes by itself even when I don't touch a single key when it's running.
I need to reload the form of my application. The application has only one form vb.net 2005. I need a button that will call the page_load event so I can restart and reload all my settings. basically I need to call the Sub private Page_load event().I just need to force the reloading of the form without having to close it and reopen it.This is the code which I need to reload:
Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For Each URLname As String In My.Settings.URLtoTrackCollection URLtoTrack.Add(URLname)
I have created a splash screen and it fades in. When the splash screen closes, the main form (MDI) should open. The main form opens but then immediately closes. vb Public Class frmSplash Private Sub frmSplash_FormClosing(ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing 'Open the MDI form. frmMain.Show() End Sub [Code] .....
I have an MDI form as the app start object.I don't think is related, but in the Form closing event, I check for some condition, and if it's true, I ask for confirmation before closing:
Private Sub FormBackground_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing If (e.CloseReason = CloseReason.UserClosing) Then[code].....
So long, everything works fine in my development machine, which runs windows XP.However, when deploying the application in a windows 7 machine, the message box works correctly, showing itself whenever it should, but after the form is closed the application keeps running in the background. This happens whether the form closes directly or asks the user first.I have fixed it putting an End instruction in the FormBackground.FormClosed event, but it doesn't feel good.
I have the following code to close a form which is a child. The problem is that when it closes, it closes the MDI parent too.
Private Sub frmTransaction_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing If ListView1.Items.Count >= 1 Then
In my one form I have a cancel button whcih is supposed to the form when the button is clicked. But its not closing the form. What could be possible reasons. I am using VS2008.Net3.5
The code is: Private Sub cbCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbCancel.Click
How will i close all the forms within my main form? Everytime I click on the menus of my main form,I'm setting my main form as MDI-Parent form and then loading a new form as it it is the child form if I'm not mistaken. I have a log-out menu, and what I want to happen is everytime I log-out all the forms within my parent form will be closed. How will I do it? Here are some of my codes.
Iam a beginner to vb.i have a project work,related to Quotation software.i want to know how to unload all forms that are loaded on to a panel when clicking a Button.here i did some codes, in that, one error is displaying like "Collection was modified; enumeration operation may not execute." the code is given below:[code]
I want to do something like when click on the close button, a message box will pop up and if yes, close it else remain in the same form. But the following coding seems only consider one side while the other side is ignored.
Style = MsgBoxStyle.DefaultButton2 Or MsgBoxStyle.Question Or MsgBoxStyle.YesNo Check = MsgBox("Do you want to quit?", Style, "Exit confirmation") If Check = MsgBoxResult.Yes Then Application.Exit() End If
Going around in circles here. I have an Exit button (Barbuttonitem6) on my form and would like the FormClosing event to handle this. The code works fine for the FormClosing event but when i try to call the Formclosing event from Barbuttonitem6, it does not work (The form does not close if i choose Yes to save or No)
Public Sub BarButtonItem6_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem6.ItemClick
I am creating a VB program that has a Main class, and 4 windows forms. Each of the forms has a back and a next button to navigate trough the forms. The problem is that when I hit next (Here is the code)
Private Sub continueButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles continueButton.Click
I am trying to close Form1 and then open Form2, but when i do it closes the whole program.I have tried to just hide Form1, but then i can't close the program and I have tried this method too but could not get it to work?
I have a form with text boxes ,masked text boxes e.t.c there is a binding (data) source MytablebindingSource). when i open the form the on form_load event i use the following code
I'm lending a copy of my .exe on a memory stick and because I dont completely trust them, , I would like to build in a function that as soon as my app has finished doing what its doing And the big red X is hit it will delete itself, but my problem is that i cant put the deletetion in the form closing because the prog is still running, so what should I do? Is there a way that I can get the app to close as soon as the dedicated task is complete, It will remove itself from the memory stick but if the X is hit before the process is complete the then the prog will remain.
my application will remain open after closing every form. This is a recent issue in previous versions my application would close. I call dispose(true) on all form closing/closed events. (some forms require it on closing instead of close because of some custom made classes.)?
A program I'm developing launches dialog boxes to get information from the user. Right now, the user can still click on and manipulate the main form while the dialog box is open. How can I make the main form inaccessible until the user closes the dialog box?
I have a project (Written in Visual Basic, using Visual Studio 2005) which has several user controls. I have had no problem setting it up where you click a button and it load a user control, but I cannot get it to remove the control that is currently open. For example The program opens on a starts screen, which has the choices, Control1, Control2, and exit. When you click Control1 button it should open up a screen to display an inventory. It does this just fine, but it does not close the main menu screen.
Here is the code for the initial startup of the project: Public Class Form4 Public Sub Form4Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim CtrlMain As New ControlMain() With CtrlMain .Location = New Point(0, 0 [Code] .....
I'm running a program, the first form is a login form. If you pass this i Hde form1 and show form2.When i'm click the x in the top right hand corner my form goes away but in my processes (task manager) it's still there. why?
What function would i use to cancel the form from being closed via them pushing the "x" in the top right?Basically want it to hide the form, set showintaskbar to falseand then display the notifyicon. Which all I know how to do, but cant quite seem to figure out how to stop the form from being closed.
I am working on a program and for some reason when I run it as an executable outside of debug mode, if I run the main subroutine of the program, the process remains in memory after being closed. Even though the form is closed/gone, it will be in the process list and I have to ctl-alt-del to remove it. If I exit right after opening the form without doing anything, it closes like normal. I am closing and disposing everything I can think of, and I've never had this problem before. This is how I am exiting, but the problem also occurs if the user "X's" out.
Me.Close() Application.Exit()
I have a couple web file requests in my program, which is the only thing out of the ordinary (code-wise) for me, don't know if those are the root of the problem. I can't imagine this is the first time this has happened to anyone, but I couldn't find anything helpful with my search terms. Any ideas/common solutions? I can post sections of my code if it will help, but the whole thing is pretty long and I couldn't narrow down any potential problem areas.
1. I am closing the form which started the thread inside the thread. There are no errors , but Is it safe ?
2. The thread starts at click of a button . If same button is clicked again , the thread is aborted. Should the thread be made Background or foreground ? it is working either way.
my code :
Private Sub BtnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOk.Click m_Thread = New System.Threading.Thread(AddressOf MyFunction) m_Thread.IsBackground = True