Cannot access a disposed object

J

Joiko

Hi This two lines of code have always worked fine

System.Windows.Forms.Form ModificaPrenotazione = new
ModificaPrenotazione(id_preno);
ModificaPrenotazione.Show();

But, after some changes to the logics in the ModificaPrenotazione Form
(Changes like new button, new buttons event, etc..) , the method show()
throws this execption "ObjectDisposedException was unhandled" Cannot
access a disposed object

What have I done to my code to make it doesn't work?? why was it
working fine and now it doesn't work?
How can I resolve this problem??

Exception details:
System.ObjectDisposedException was unhandled
Message="Cannot access a disposed object.\r\nObject name:
'ModificaPrenotazione'."
Source="System.Windows.Forms"
ObjectName="ModificaPrenotazione"
StackTrace:
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Form.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.SetVisibleCore(Boolean value)
at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
at System.Windows.Forms.Control.Show()
at
AnyHotel.ResocontoStanzaUserControl.b_MouseClick_VisualizzaPrenotazione(Object
sender, MouseEventArgs e) in C:\Documents and
Settings\Lavoro\Documenti\Visual Studio
2005\Projects\AnyHotel\AnyHotel\ResocontoStanzaUserControl.cs:line 233
at System.Windows.Forms.Control.OnMouseClick(MouseEventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m,
MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at
System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at
System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr
hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at
System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at
System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32
dwComponentID, Int32 reason, Int32 pvLoopData)
at
System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32
reason, ApplicationContext context)
at
System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at AnyHotel.Program.Main() in C:\Documents and
Settings\Lavoro\Documenti\Visual Studio
2005\Projects\AnyHotel\AnyHotel\Program.cs:line 17
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[]
args)
at System.AppDomain.ExecuteAssembly(String assemblyFile,
Evidence assemblySecurity, String[] args)
at
Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object
state)
at System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
 
B

Bob Powell [MVP]

You should be doing something like:

ModificaPrenotazione myform = new
ModificaPrenotazione(id_preno);
myform.Show();

If it still happens, you'll need to see what you did to break the form. Did
you edit the InitializeComponent by hand?? thats the bit where it says "DO
NOT EDIT THIS BY HAND" :)


--
Bob Powell [MVP]
Visual C#, System.Drawing

Ramuseco Limited .NET consulting
http://www.ramuseco.com

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.



Joiko said:
Hi This two lines of code have always worked fine

System.Windows.Forms.Form ModificaPrenotazione = new
ModificaPrenotazione(id_preno);
ModificaPrenotazione.Show();

But, after some changes to the logics in the ModificaPrenotazione Form
(Changes like new button, new buttons event, etc..) , the method show()
throws this execption "ObjectDisposedException was unhandled" Cannot
access a disposed object

What have I done to my code to make it doesn't work?? why was it
working fine and now it doesn't work?
How can I resolve this problem??

Exception details:
System.ObjectDisposedException was unhandled
Message="Cannot access a disposed object.\r\nObject name:
'ModificaPrenotazione'."
Source="System.Windows.Forms"
ObjectName="ModificaPrenotazione"
StackTrace:
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Form.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.SetVisibleCore(Boolean value)
at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
at System.Windows.Forms.Control.Show()
at
AnyHotel.ResocontoStanzaUserControl.b_MouseClick_VisualizzaPrenotazione(Object
sender, MouseEventArgs e) in C:\Documents and
Settings\Lavoro\Documenti\Visual Studio
2005\Projects\AnyHotel\AnyHotel\ResocontoStanzaUserControl.cs:line 233
at System.Windows.Forms.Control.OnMouseClick(MouseEventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m,
MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at
System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at
System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr
hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at
System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at
System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32
dwComponentID, Int32 reason, Int32 pvLoopData)
at
System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32
reason, ApplicationContext context)
at
System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at AnyHotel.Program.Main() in C:\Documents and
Settings\Lavoro\Documenti\Visual Studio
2005\Projects\AnyHotel\AnyHotel\Program.cs:line 17
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[]
args)
at System.AppDomain.ExecuteAssembly(String assemblyFile,
Evidence assemblySecurity, String[] args)
at
Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object
state)
at System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top