I use the following code to open up a form.
-------------------------------------------------------
If fImage Is Nothing Then
fImage = New frmImage
End If
fImage.Show()
-------------------------------------------------------
It works the first time, but when the form is closed and this piece of code runs again I want to check to see if it is nothing and then if it is nothing then create a new instance of the form and show it. Otherwise just show the form. Well when the form is closed by the user the form becmome "disposed" instead of nothing. Is this the result of .NET Garbage Collection, and that fImage would eventually become nothing?
On top of this, how can I check to see if the object is disposed?
This is the error when closing the form and running that code above again:
Run-time exception thrown : System.ObjectDisposedException - Cannot access a disposed object named "frmImage".
Cor Ligthert - 08 Apr 2005 16:05 GMT
D. Witherspoon
Setting something to nothing does nothing to delete it.
It only deletes the reference it has to its object
When you want to know if you still can use a form than you can use the
Isdisposed.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlr
fsystemwindowsformscontrolclassisdisposedtopic.asp
I hope this helps,
Cor
Morten Wennevik - 08 Apr 2005 16:11 GMT
Hi D Witherspoon,
Yes, when an object like windowsform is closed it will be marked disposed
until the garbage collector has released it completely, at which time it
will be null.
You can check if Windows Form is disposed by checking its IsDisposed
property
if(fImage == null || !fImage.IsDisposed)
fImage = new frmImage();

Signature
Happy Coding!
Morten Wennevik [C# MVP]
Herfried K. Wagner [MVP] - 08 Apr 2005 18:37 GMT
"D Witherspoon" <dwitherspoon@noway.org> schrieb:
>>>If fImage Is Nothing Then
fImage = New frmImage
End If
fImage.Show()
-------------------------------------------------------
It works the first time, but when the form is closed and this piece of code
runs again I want to check to see if it is nothing and then if it is nothing
then create a new instance of the form and show it. Otherwise just show the
form. Well when the form is closed by the user the form becmome "disposed"
instead of nothing. Is this the result of .NET Garbage Collection, and that
fImage would eventually become nothing?
On top of this, how can I check to see if the object is disposed?
This is the error when closing the form and running that code above again:
Run-time exception thrown : System.ObjectDisposedException - Cannot access a
disposed object named "frmImage".<<<
See:
<URL:http://groups.google.de/groups?selm=eILSwL4CFHA.2072%40TK2MSFTNGP10.phx.gbl>

Signature
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>