Привет всем.
Возникла проблема
Суть:
Имеем компонент(код пишу упрощенно):
class VirtualKeyboardForm : Form
{
....
}
public class VirtualKeyboard : Component
{
private static VirtualKeyboardForm FormInstance
{
get
{
if(formInstance == null)
{
formInstance = new VirtualKeyboardForm();
}
return formInstance;
}
}
private static VirtualKeyboardForm formInstance;
}
Далее, создаем 2 формы и на каждую из них кидаем компонент VirtualKeyboard.
Ставим breakpoint на методе dispose класса VirtualKeyboardForm.
Одну форму вызываем из другой и вызванную форму закрываем и получаем вызов dispose у статического члена компонента. Полагаю, что dispose у формы вызывает класс Component (что подтверждает stack trace) но вот как от этого избавится и как он туда достает — не понятно. гугл не помог(не то искал?).
должен же был кто то столкнуться с таким поведением?
Как сделать так, что бы форма не 'диспоузилась'? и главное механизм вызова dispose мне не совсем понятен
Спасибо.