C# winform在关闭窗体的时候怎么处理可以及时释放内存?dispose方法应该不能解决这个问题

如题所述

//不知道我的回答是不是你所需要的,希望对你有帮助啊~~
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Runtime.InteropServices;
using System.Diagnostics;
namespace ReleaseMemory_Win
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
this.Close();
FlushMemory();
}

[DllImport("kernel32.dll")]
private static extern bool SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
private static void FlushMemory()
{
GC.Collect();
GC.WaitForPendingFinalizers();
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
}
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-28
当窗体关闭了 ,.NET会自动内存回收的。

C# winform在关闭窗体的时候怎么处理可以及时释放内存?dispose方法应 ...
\/\/不知道我的回答是不是你所需要的,希望对你有帮助啊~~using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Diagnostics;na...

C#winform窗体释放内存问题
直接this.Close()就行了,因为在FromB.Desiner.cs里面已经重写了Dispose()方法,.net的内部机制能自动释放托管资源内存的,无需程序员控制。

C#的 winform程序,登录完了怎么关掉登录窗体?
合理的做法是程序启动的时候直接启动主程序窗体,主程序在加载的时候判断用户是否登录,或是否有相关登录凭证,如果没有就弹出登录窗口要求登录。用户登录成功后关闭登录子窗口。

c# winform程序,如何让程序只能通过自己调用的方法关闭,而不能用其他...
我感觉最好方法的就是,在子窗体的Closing事件中,写循环退出条件,这样就可以避免某些未知的错误,而且可以只关闭子窗体,并释放子窗体占用的资源。Application.Exit(); 方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口。Application.Exit 是一种强行退出方式,就像 Win32 的 PostQuitMessa...

C# WinForm ShowDialog 两次
loginForm sf =new loginForm();\/\/在方法外面声明一个登录框 private void submitForm_Activated(object sender, EventArgs e){ sf.close();\/\/进入此方法就执行下关闭,如果能判断该窗体是显示还是关闭状态的话就加个判断:如果是打开状态再执行关闭 sf= loginForm.getLoginForm(3);\/\/窗体离开时间...

C#编写的WinForm程序,运行一段时间后越来越卡,怎么办?
最简答的一个方法 GC.Collect(); 垃圾回收 最好检查一下你的所有变量的作用域 并且检查一下不要再循环中初始化对象那样很慢 你不贴代码谁也不知道怎么回事 对象被dispose()不见得资源就全被释放了,.net依据一定机制去释放资源,对象被dispose()了也不会马上就释放资源 ...

c#中 怎么件类文件 在winform中用的,我想把数据库的一些频繁操作的比如...
最好还要提醒一下,在成功编译成执行文件后,在执行此文件的时候,必须保证在此执行文件的相同目录,存在上面代码中提到名称的图标和图象,否则在创建资源文件的时候是会出错的。 五.总结: 可见用Visual C#创建资源文件并不是一个复杂的过程,在下一篇文章中,我们将介绍如何在Visual C#使用资源文件中资源。这才是Visual ...

相似回答