473,779 Members | 2,083 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

What's wrong with this code?

Hello:

I have two forms, Form1 and Form2. Form1 has a command button that will open
Form2. There can only be one Form2 open at any time.

Here's my code:

Public Class Form1
Inherits System.Windows. Forms.Form
Private formForm2 As New Form2
+ Windows Form Designer generated code "

Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles Button1.Click

If formForm2 Is Nothing Then
formForm2 = New Form2
End If
formForm2.Show( )
formForm2.Activ ate()
End Sub
End Class
This works fine except when I close Form2 and click on the command button. I
get an exception:

An unhandled exception of type 'System.ObjectD isposedExceptio n' occurred in
system.windows. forms.dll

Additional information: Cannot access a disposed object named "Form2".

How do I solve this issue?

Thanks for your help.

Venkat
Nov 21 '05 #1
12 4230
On Tue, 26 Oct 2004 09:49:03 -0700, vvenk wrote:
Hello:

I have two forms, Form1 and Form2. Form1 has a command button that will open
Form2. There can only be one Form2 open at any time.
<snip>
This works fine except when I close Form2 and click on the command button. I
get an exception:


When you close a form it is disposed. If you need to use the form again,
call it Hide method instead of the Close method.

--
Chris

dunawayc[AT]sbcglobal_lunch meat_[DOT]net

To send me an E-mail, remove the "[", "]", underscores ,lunchmeat, and
replace certain words in my E-Mail address.
Nov 21 '05 #2
The problem you are having is that formForm2 variable in Form1 doesn't get
set to Nothing when the Form2 closes.

You'll need to handle the close event in Form2 that needs to set this
variable to nothing.

HTH,
Regards
Simon Jefferies
mailto:simon[nospam]@cooltoolsonlin e.co.uk
-- remove [nospam] to email me --
"vvenk" <vv***@discussi ons.microsoft.c om> wrote in message
news:31******** *************** ***********@mic rosoft.com...
Hello:

I have two forms, Form1 and Form2. Form1 has a command button that will
open
Form2. There can only be one Form2 open at any time.

Here's my code:

Public Class Form1
Inherits System.Windows. Forms.Form
Private formForm2 As New Form2
+ Windows Form Designer generated code "

Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles Button1.Click

If formForm2 Is Nothing Then
formForm2 = New Form2
End If
formForm2.Show( )
formForm2.Activ ate()
End Sub
End Class
This works fine except when I close Form2 and click on the command button.
I
get an exception:

An unhandled exception of type 'System.ObjectD isposedExceptio n' occurred
in
system.windows. forms.dll

Additional information: Cannot access a disposed object named "Form2".

How do I solve this issue?

Thanks for your help.

Venkat

Nov 21 '05 #3
On Tue, 26 Oct 2004 09:49:03 -0700, vvenk wrote:
Hello:

I have two forms, Form1 and Form2. Form1 has a command button that will open
Form2. There can only be one Form2 open at any time.
<snip>
This works fine except when I close Form2 and click on the command button. I
get an exception:


When you close a form it is disposed. If you need to use the form again,
call it Hide method instead of the Close method.

--
Chris

dunawayc[AT]sbcglobal_lunch meat_[DOT]net

To send me an E-mail, remove the "[", "]", underscores ,lunchmeat, and
replace certain words in my E-Mail address.
Nov 21 '05 #4
The problem you are having is that formForm2 variable in Form1 doesn't get
set to Nothing when the Form2 closes.

You'll need to handle the close event in Form2 that needs to set this
variable to nothing.

HTH,
Regards
Simon Jefferies
mailto:simon[nospam]@cooltoolsonlin e.co.uk
-- remove [nospam] to email me --
"vvenk" <vv***@discussi ons.microsoft.c om> wrote in message
news:31******** *************** ***********@mic rosoft.com...
Hello:

I have two forms, Form1 and Form2. Form1 has a command button that will
open
Form2. There can only be one Form2 open at any time.

Here's my code:

Public Class Form1
Inherits System.Windows. Forms.Form
Private formForm2 As New Form2
+ Windows Form Designer generated code "

Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles Button1.Click

If formForm2 Is Nothing Then
formForm2 = New Form2
End If
formForm2.Show( )
formForm2.Activ ate()
End Sub
End Class
This works fine except when I close Form2 and click on the command button.
I
get an exception:

An unhandled exception of type 'System.ObjectD isposedExceptio n' occurred
in
system.windows. forms.dll

Additional information: Cannot access a disposed object named "Form2".

How do I solve this issue?

Thanks for your help.

Venkat

Nov 21 '05 #5
set a public variable F2_Open in a module

This goes in form1:

Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles Button1.Click
If module1.F2_Open = False Then
Dim F2 As New Form2()
F2.Show()
module1.F2_Open = True
End If

In the Closed event of the Form2 class, reset F2_Open to false. You might
also set the TopMost property of Form2 to true, so it does not appear to
vanish if the user clicks elsewhere.

www.charlesfarriersoftware.com

"vvenk" wrote:
Hello:

I have two forms, Form1 and Form2. Form1 has a command button that will open
Form2. There can only be one Form2 open at any time.

Here's my code:

Public Class Form1
Inherits System.Windows. Forms.Form
Private formForm2 As New Form2
+ Windows Form Designer generated code "

Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles Button1.Click

If formForm2 Is Nothing Then
formForm2 = New Form2
End If
formForm2.Show( )
formForm2.Activ ate()
End Sub
End Class
This works fine except when I close Form2 and click on the command button. I
get an exception:

An unhandled exception of type 'System.ObjectD isposedExceptio n' occurred in
system.windows. forms.dll

Additional information: Cannot access a disposed object named "Form2".

How do I solve this issue?

Thanks for your help.

Venkat

Nov 21 '05 #6
set a public variable F2_Open in a module

This goes in form1:

Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles Button1.Click
If module1.F2_Open = False Then
Dim F2 As New Form2()
F2.Show()
module1.F2_Open = True
End If

In the Closed event of the Form2 class, reset F2_Open to false. You might
also set the TopMost property of Form2 to true, so it does not appear to
vanish if the user clicks elsewhere.

www.charlesfarriersoftware.com

"vvenk" wrote:
Hello:

I have two forms, Form1 and Form2. Form1 has a command button that will open
Form2. There can only be one Form2 open at any time.

Here's my code:

Public Class Form1
Inherits System.Windows. Forms.Form
Private formForm2 As New Form2
+ Windows Form Designer generated code "

Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles Button1.Click

If formForm2 Is Nothing Then
formForm2 = New Form2
End If
formForm2.Show( )
formForm2.Activ ate()
End Sub
End Class
This works fine except when I close Form2 and click on the command button. I
get an exception:

An unhandled exception of type 'System.ObjectD isposedExceptio n' occurred in
system.windows. forms.dll

Additional information: Cannot access a disposed object named "Form2".

How do I solve this issue?

Thanks for your help.

Venkat

Nov 21 '05 #7
Hi vvenk,

try the next code:

[FORM1]

Public Class Form1
Inherits System.Windows. Forms.Form

Private formForm2 As New Form2

Private Shared m_ActiveForm As Boolean

Public Shared Property ActualForm() As Boolean
Get
ActualForm = m_ActiveForm
End Get
Set(ByVal Value As Boolean)
m_ActiveForm = Value
End Set
End Property
....
Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles Button1.Click
If Not ActualForm Then
formForm2 = New Form2
End If
formForm2.Show( )
formForm2.Activ ate()
ActualForm = True
End Sub
End Class
[FORM2]
Public Class Form2
Inherits System.Windows. Forms.Form
....
Private Sub Form2_Closed(By Val sender As System.Object, ByVal e As
System.EventArg s) Handles MyBase.Closed
Form1.ActualFor m = False
End Sub
End Class

I hope that helps.

Best Regards,

Jorge Serrano Pérez
MVP VB.NET


"vvenk" wrote:
Hello:

I have two forms, Form1 and Form2. Form1 has a command button that will open
Form2. There can only be one Form2 open at any time.

Here's my code:

Public Class Form1
Inherits System.Windows. Forms.Form
Private formForm2 As New Form2
+ Windows Form Designer generated code "

Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles Button1.Click

If formForm2 Is Nothing Then
formForm2 = New Form2
End If
formForm2.Show( )
formForm2.Activ ate()
End Sub
End Class
This works fine except when I close Form2 and click on the command button. I
get an exception:

An unhandled exception of type 'System.ObjectD isposedExceptio n' occurred in
system.windows. forms.dll

Additional information: Cannot access a disposed object named "Form2".

How do I solve this issue?

Thanks for your help.

Venkat

Nov 21 '05 #8
Hi vvenk,

try the next code:

[FORM1]

Public Class Form1
Inherits System.Windows. Forms.Form

Private formForm2 As New Form2

Private Shared m_ActiveForm As Boolean

Public Shared Property ActualForm() As Boolean
Get
ActualForm = m_ActiveForm
End Get
Set(ByVal Value As Boolean)
m_ActiveForm = Value
End Set
End Property
....
Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles Button1.Click
If Not ActualForm Then
formForm2 = New Form2
End If
formForm2.Show( )
formForm2.Activ ate()
ActualForm = True
End Sub
End Class
[FORM2]
Public Class Form2
Inherits System.Windows. Forms.Form
....
Private Sub Form2_Closed(By Val sender As System.Object, ByVal e As
System.EventArg s) Handles MyBase.Closed
Form1.ActualFor m = False
End Sub
End Class

I hope that helps.

Best Regards,

Jorge Serrano Pérez
MVP VB.NET


"vvenk" wrote:
Hello:

I have two forms, Form1 and Form2. Form1 has a command button that will open
Form2. There can only be one Form2 open at any time.

Here's my code:

Public Class Form1
Inherits System.Windows. Forms.Form
Private formForm2 As New Form2
+ Windows Form Designer generated code "

Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
System.EventArg s) Handles Button1.Click

If formForm2 Is Nothing Then
formForm2 = New Form2
End If
formForm2.Show( )
formForm2.Activ ate()
End Sub
End Class
This works fine except when I close Form2 and click on the command button. I
get an exception:

An unhandled exception of type 'System.ObjectD isposedExceptio n' occurred in
system.windows. forms.dll

Additional information: Cannot access a disposed object named "Form2".

How do I solve this issue?

Thanks for your help.

Venkat

Nov 21 '05 #9
If formForm2 Is Nothing OrElse formForm2.IsDis posed Then
formForm2 = New Form2
End If
formForm2.Show( )
formForm2.Activ ate()
Nov 21 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

125
14850
by: Sarah Tanembaum | last post by:
Beside its an opensource and supported by community, what's the fundamental differences between PostgreSQL and those high-price commercial database (and some are bloated such as Oracle) from software giant such as Microsoft SQL Server, Oracle, and Sybase? Is PostgreSQL reliable enough to be used for high-end commercial application? Thanks
72
5898
by: E. Robert Tisdale | last post by:
What makes a good C/C++ programmer? Would you be surprised if I told you that it has almost nothing to do with your knowledge of C or C++? There isn't much difference in productivity, for example, between a C/C++ programmers with a few weeks of experience and a C/C++ programmer with years of experience. You don't really need to understand the subtle details or use the obscure features of either language
121
10179
by: typingcat | last post by:
First of all, I'm an Asian and I need to input Japanese, Korean and so on. I've tried many PHP IDEs today, but almost non of them supported Unicode (UTF-8) file. I've found that the only Unicode support IDEs are DreamWeaver 8 and Zend PHP Studio. DreamWeaver provides full support for Unicode. However, DreamWeaver is a web editor rather than a PHP IDE. It only supports basic IntelliSense (or code completion) and doesn't have anything...
51
13388
by: WindAndWaves | last post by:
Can anyone tell me what is wrong with the goto command. I noticed it is one of those NEVER USE. I can understand that it may lead to confusing code, but I often use it like this: is this wrong????? Function x select case z
46
4263
by: Keith K | last post by:
Having developed with VB since 1992, I am now VERY interested in C#. I've written several applications with C# and I do enjoy the language. What C# Needs: There are a few things that I do believe MSFT should do to improve C#, however. I know that in the "Whidbey" release of VS.NET currently
13
5058
by: Jason Huang | last post by:
Hi, Would someone explain the following coding more detail for me? What's the ( ) for? CurrentText = (TextBox)e.Item.Cells.Controls; Thanks. Jason
1
1467
by: GS | last post by:
I got a combobox box that I load at load time. the Item and vales ended up in reverse order of each other, what went wrong? the database table has the following row code value ebay http://www.ebay.com google http://www.google.com yahoo http://www.yahoo.com However in the drop down list displayed value used ebay http://www.yahoo.com
98
4626
by: tjb | last post by:
I often see code like this: /// <summary> /// Removes a node. /// </summary> /// <param name="node">The node to remove.</param> public void RemoveNode(Node node) { <...> }
9
2124
by: Pyenos | last post by:
import cPickle, shelve could someone tell me what things are wrong with my code? class progress: PROGRESS_TABLE_ACTIONS= DEFAULT_PROGRESS_DATA_FILE="progress_data" PROGRESS_OUTCOMES=
20
2821
by: Daniel.C | last post by:
Hello. I just copied this code from my book with no modification : #include <stdio.h> /* count characters in input; 1st version */ main() { long nc; nc = 0;
0
9636
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9474
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10306
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10139
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10075
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8961
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7485
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5504
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3632
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.