Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Сворачивание в трей + освобождение памяти


Автор: SiNiK 6.2.2008, 20:11
Подскажите, использую:


Код

   InitializeComponent();
            this.notifyIcon1.Visible = false;
            this.WindowState = FormWindowState.Minimized;
....

        private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.Visible = false;
                this.notifyIcon1.Visible = true;
            }
        }


Программа сворачивается в трей, только вот почему то память не освобождается. Если я просто сверну программу, то все нормально.....
Как освободить ее?

Автор: Anabolic 8.2.2008, 18:03
в каком смысле память не освобождается? память чего?

Автор: Unsane 8.2.2008, 20:39
Цитата(SiNiK @  6.2.2008,  20:11 Найти цитируемый пост)
Как освободить ее?

Попробуй так..
Код

public partial class Form1 : Form
    {
        [DllImport("kernel32.dll")]
        public static extern bool SetProcessWorkingSetSize(IntPtr handle, int minimumWorkingSetSize, int maximumWorkingSetSize);


...
        private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.Visible = false;
                this.notifyIcon1.Visible = true;
                SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
            }
        }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)