我使用此代码打开窗口,以确保只创建一个窗口:
ticketTypesForm = ticketTypesForm ?? new fTicketTypes();
ticketTypesForm.Show();
ticketTypesForm.Activate();
但是一旦我关闭窗口,我就会收到异常:
Cannot access a disposed object.
Object name: 'fTicketTypes'.
答案 0 :(得分:4)
答案 1 :(得分:0)
您可以使用隐藏,而不是使用方法关闭。 方法隐藏不会释放对话框的实例。所以你不需要检查它是否已被丢弃。只需显示之前隐藏的对话框。
隐藏的唯一缺点是将对话框的资源驻留在缓存内存中。但有时它更方便。