У меня есть простая форма (MainForm), которая открывает другую форму (SubForm), на которой есть ToolStrip.
В вызванной форме больше ничего нет. Форма вызова имеет только кнопку.
Память вызываемой формы никогда не восстанавливается, поскольку для SystemEvents.UserPreferenceChanged существует обработчик событий. Я прочитал, что это проблема, которая была исправлена в .NET 3.5.1.
[ РЕДАКТИРОВАТЬ Приложение работает на 3.5.1, поэтому либо оно не исправлено, либо я делаю что-то другое]
Могу ли я сделать что-нибудь, чтобы сборщик мусора смог восстановить память подчиненной формы?
Как только я удаляю ToolStrip, подчиненная форма может снова собираться мусором.
MainForm
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SubForm subForm = new SubForm();
subForm.ShowDialog();
}
}
SubForm
public partial class SubForm : Form
{
public SubForm()
{
InitializeComponent();
}
}
График хранения экземпляров с помощью Toolstrip
Большая версия