Компонент и его статический member
От: Аноним  
Дата: 22.01.11 21:18
Оценка:
Привет всем.
Возникла проблема
Суть:
Имеем компонент(код пишу упрощенно):



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 мне не совсем понятен

Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.