Can't Create New Instance Of Form After Calling MyForm.close()?
Mar 9, 2009
[Edit] See this post as to why I'm declaring form elements globally. I chose to rewire my code to get rid of the global definitions. [End Edit] I'm creating a from dynamically at runtime. the form, all buttons, and the combobox are all declared globally to the parent form. dim myForm as new form
I have been making a webbrowser for a while now, everything works well, except i am unable to make the 'open in a new window' button work right. So far i have managed to get a new instance of my form to open with the right url, but i am unable to keep that new form open when the orginal parent form closes.
Code:
Private Sub WebBrowser1_NewWindow(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow e.Cancel = True Dim Href As String
Use the "new" keyword to create an object instance & Check to determine if the object is null before calling the method. I'm reading text from a text file using the following [Code]
I have made a little programme where the user can put in a name to search for a contact.The matches then fill a Datagrid and the user can then choose the one they want and the programm then opens the contact form (from outlook client)The Contact form opens ok, and it brings up the correct contact. If the user then selects the option to "Email" from that from I then get the error message"A Dialog is open" etc...
My code is as follows
Sub GetContact() Dim objOutlook As Outlook.Application Dim objNS As Outlook.NameSpace
[code]....
It seems to be due to Outlook being open or opening?
I have done some reading and it seems that this error comes from recursive calls but I have not done anything in my form_closing handler except for call me.close, that's it.
So I don't understand how this exception has entered my project. All of my data and functionality is still working as I expect. It just seems to throw this exception when I try and exit my project.
what I could check to prevent something like this from happening?
Is there any way to determine whether a form was closed by clicking the "X" button or by calling Me.close? They both fire the FormClosing event, but I need to determine how the form is being closed so I can do different things.
I'm creating what I believe is an mdi app.I have a login form.I have a class for security.My login form creates an instance of the security class. There are all kinds of security parameters for each user (permissions to different things, etc.)These parameters are part of my security class.Once the user logs in, many other forms will all be opened and closed within the main mdi frame.All of these other forms need the information of the security class to know what the user has permission to do.Do I have to create a new instance of security class for every form in my project? Isn't there a way to store this stuff globally somehow. Retrieve once from the db at the start of the app during login and just get it from this global area everytime?
Basically I have a single instance project, when a user right clicks an image it trys to host it. I use this code.
Code: Private Sub MyApplication_StartupNextInstance(ByVal sender As Object, _ ByVal e As StartupNextInstanceEventArgs) _ Handles Me.StartupNextInstance e.BringToForeground = True MainForm.Visible = True [Code] .....
The msgbox is only there to show me I caught the arg. My question is how can I use this info in my application? Every google link is red. I need to add the DIR varible to txtFilePath.Text and then call my sub Call UploadPicture()
I have a main form that has a button with which a smaller form is shown. Think of the smaller form as the Find/Replace dialog in many applications, such as Notepad. It's important that the form is (what I believe is called) modal. What I mean is that it always stays on top of the main form. I ensure that by calling the Show method with "Me" as the owner argument. Whenever the small form loses focus it will not disappear into the background but stay visible (albeit out of focus). If you don't understand open up Notepad and have a look at the behavior of the Find/Replace dialog.
Here's my problem: instead of actually closing the form when the X is pressed, I want it to simply Hide itself, so its position and the state of any controls (checkboxes etc) is preserved automatically.To achieve this I simply cancel the FormClosing event and Hide it:
vb.net Private Sub Form2_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
[code]....
To show the form, I use the following (note the (Me) to make the main form the owner of the form; this ensures that it remains visible even when it is out of focus):
vb.net Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form2.Show(Me) End Sub
Now. When I run my project, and open the Form2 (small form), then hide it again (by 'closing' it), I can no longer close the main form (Form1)! It seems the main form cannot close when the small form still exists (albeit invisible)...?? When I don't use the Me argument in the Show method, I don't get the behavior I want. I know I can set the TopMost property to True but that will also cause it to become visible on top of all the other forms, even windows not part of my application.
I am using Compact Framework 3.5 on a Symbol MC50.In my Sub Main it first checks to see if a database exists. If it does, it shows a login screen using the following code:
Dim login As frmLogin = New frmLogin() If login.ShowDialog() = DialogResult.OK Then Application.Run(New frmMain()) End If
This all works correctly and, when I close frmMain, it exits the application as expected.However, if the database check in Sub Main fails, I call the ShowDialog() method of another form that is used to create and fill the database from a live server. Here is the code for calling this form:
If Not File.Exists(SETTINGS_LOCALDB) Then databaseExists = False MessageBox.Show("Local DB does not exist. The database must be created before using the application.")[code].....
All of this code is being hit and frmMain does indeed load. However, when I click the close button in the top right nothing happens, no event occurs. Its as though the Windows events are not occurring.
In my application, i am downloading file from DMS system to my server. Once the file gets downloaded, on some environment, the iis keeps lock of the file and when the application tries to redownload the file and put the file on same location, an error is generated that file is being used by another process. Following is the code :
I am creating an excel file in my vb app. Below is the code I am using to do this. But when the application is closed, I still have an instance of Excel running in the background. How do i close it? I can do it with the xlWBook but not the xlApp.
I have set up a notify icon for my form. I want to make it so that when the user clicks the close button that it doesn't close the form it just takes it to shows the notify icon. They can exit the program from the notify icon. Can someone tell me how to keep it running?
sometimes, when I use Form.close() when debugging my program, although the form is closed, the application is still running. I noticed this behaviour when using the msgbox function.
I try to transfer a vb6 application to vb2010. In the vb6 I start with a login panel that the user enter uid and password autenticate with the DBServer if ok show application main menu and close the login form. the order of the me.close() after the mainform.show() does not change, The application ends.
I have a situation where me.close() doesn't close the form. I have a form with a button with the code seen below. What happens when the button is clicked is the new form shows, but the original form(calling form) is still there. When I go into debug mode, I can see the me.close() execute, but nothing happens (calling form stays open). When I close the second form both forms close. If I comment out the call for the second form to open the first form closes without problem.
Private Sub cmdNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNext.Click Dim f As New frmOrder3
The first sub calls LoadRaceTimer without a problem. The second results in a "object reference not set to an instance of an object" error. I can't for the life of me figure out why. All three are in "Public Class MainScreen".
Private Sub SessionsBrowser_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles SessionsBrowser.DocumentCompleted ... LoadRaceTimer()
I call the function GetDataTable and when it gets to the return line, I get the error message: Object reference not set to an instance of an object.
Dim DB As New DBConn Dim gd As New DataAccess.GetData Dim DT As New DataTable
[Code].....
Updated. I'll see if I can update with the DataAccess.GetData code. I didn't originally put it in there because our shop use it all the time and have no issues with it.
I'm currently in the process of building a text editor type program, and have run into a brick wall. I haven't done VB in years, so I may just need a little reminder on some things. I have coded everything so far as far as opening files, saving them, changing fonts, colors, etc. However, I'm looking to add a Close button to my menu strip that will just close the currently opened file, and not the entire program, while also ask the user if he/she would like to save before closing the file, and then if they select yes, it will show the save dialog, and if not, it will go ahead and close the currently opened item.
I am using MEF for Plug-in, I made one class PluginManager which has propety<ImportMany()>Public Property Plugins() As Lazy(Of IPlugin, IPluginExport)() Now want to create a new instance of when i query from plugins, I have already set PartCreationpolicy as Nonshared, but still its not working.
I'm having an interesting issue that I can't reproduce on a different project, but can consistently on this one. I have no clue what might be causing it, but am hoping that someone may have seen it before.
I have a main form, from which I run a series of checks. On this form, I have a listview control. Because of some issues with the refreshing of this listview control, I had to create my own messagebox. It's just a form that displays some text ( it also happens to look nicer than MsgBox; in my opinion, anyways ). It's been working great for months, until recently.
My problem is that on my main form's load event, I run this check, which returns an error within a try/catch block. I then call my custom messagebox with a message. It in turns calls it's ShowDialog() function.
In any other situation ( after the main form has been loaded ), I have no problems. The messagebox goes on the screen and behaves appropriately ( ie: waits for my input and acts as a modal dialog ( stops execution of my main form's thread ) ). However, on this onload event, my messagebox comes up and goes away almost immediately afterwards.
I've traced it all the way to the showdialog() call. For no explicable reason, it appears to skip right over this call, without me doing anything on the form.
Here's what the inner trace looks like ( when I put a breakpoint on the onclosing event for this messagebox form ):
I am working on an ASP.Net 3.5 solution that I did not originally build. I added a class file named Incident.vb to the App_Code folder like I always do.But in my code behind of a web page, I usually create an instance of a class like:
Dim oIncident as New Incident
But after I type "New", normally I would see my class file he intellisense but I do not. So it does not seem to be able to find Incident.vb. I have not seen this behavior before. Trust me, my class is correct. I have created many class files like this.[code]...