Здравствуйте люди!
Создал в дисигнере форму, потом из другой формы вызываю ее модально:
private void buttonCorrect_Click(object sender, System.EventArgs e)
{
this.AssemblyTables();
CorrectionForm myForm = null;
try
{
myForm = new CorrectionForm();
Вообщем пытаюсь обнулить и почистить все что есть в форме
И после всего этого сборщик мусора не хочет удалять форму из памяти! Память постоянно тает после каждого
вызова формы.
Для интереса добавил обработчик внешнего события выше указанную (удаляемую ) форму. Каждая удаленная форма откликается на это событие, хотя слабая ссылка показывает что объект формы удален!
private void button1_Click(object sender, System.EventArgs e)
{
CorrectionForm myForm = (CorrectionForm)wr.Target;
if(myForm == null)
{
MessageBox.Show("Объект все еще не удален!");
}
else
{
MessageBox.Show("Объект удален!");
}
MessageBox.Show(GC.GetTotalMemory(false).ToString());
}
MessageBox.Show(GC.GetTotalMemory(false).ToString());
тоже показывает что размер кучи растет
Вообщем не представляю как избавиться от черезмерной прожорливости программы, помогите пожалуйста!!!