求助:问题很难用标题说明,请进来看看,在线等待。 是你代码里调用dll时有不对的地方,所以才抛异常.自己好好检查下代码吧. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在你的onpaint里面加这样一句// adjust if (e.ClipRectangle.IsEmpty) return ; 总共用了两个DLL[DllImport("kernel32")] public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);和[StructLayout(LayoutKind.Sequential)] 估计是不是因为你的程序是实时绘图,而在窗体切换的时候触发了绘图的动作,但因为当前运行的窗体已经切换.所以才产生EXCEPTION.具体还是要进行异常跟踪才能确切. 目前的情况是,我设置了错误捕捉,也跳不到Catch,就直接报错了 每次子窗体切换时,我只是把其中一个不显示的visiable=false 因为其中一个的clientrectangle的大小为Empty,所以你操作这个Rectangle就要报这个错误 跟你说了,是在调用DLL时出错的.捕获不了异常,异常发生在DLL内部,是你使用不当.应该仔细检查一下代码. //获取内存的使用情况[DllImport("kernel32")] public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);private void getMemoryInfo(){ MEMORY_INFO MemInfo; MemInfo=new MEMORY_INFO(); GlobalMemoryStatus(ref MemInfo); lb1.Text=MemInfo.dwMemoryLoad.ToString()+"% 的内存正在使用"; lb2.Text ="物理内存共有: "+MemInfo.dwTotalPhys/1024+"K"; lb3.Text="可使用的物理内存有: "+MemInfo.dwAvailPhys/1024+"K"; lb4.Text="交换文件总大小为: "+MemInfo.dwTotalPageFile/1024+"K"; lb5.Text="尚可交换文件大小为: "+MemInfo.dwAvailPageFile/1024+"K"; lb6.Text="总虚拟内存有: "+MemInfo.dwTotalVirtual/1024+"K"; lb7.Text="未用虚拟内存有: "+MemInfo.dwAvailVirtual/1024+"K"; float memory=MemInfo.dwTotalPageFile/1024/1024*pcM.NextValue()/100; stBar.Panels[2].Text=String.Format("内存使用: {0}M/{1}M",memory.ToString("0"),MemInfo.dwTotalPageFile/1024/1024);}StructLayout(LayoutKind.Sequential)] public struct MEMORY_INFO { public uint dwLength; public uint dwMemoryLoad; public uint dwTotalPhys; public uint dwAvailPhys; public uint dwTotalPageFile; public uint dwAvailPageFile; public uint dwTotalVirtual; public uint dwAvailVirtual; } 就这里使用了dll.to曾一刀:能帮忙给看看吗? 请教:如何清除上次创建的label 谁来帮我分析一下这段代码? WPF如何进行图片处理啊? 创建了一个“项目模板”,在“我的模板“下不能显示,怎么回事??? com+问题 dbf文件 链接字符串 EditBox的字體能否著色 插入一条记录能否返回记录号 .net的老大哥们请帮帮小弟,多谢了! httpwebrequest post上传二进制流问题。 用vs2005在windowce模拟器上进行本地化设计的问题,请教本地化高手 C#2005 窗体关闭事件的问题,请高手们帮帮忙!拜谢!!!
if (e.ClipRectangle.IsEmpty)
return ;
[DllImport("kernel32")]
public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);
和
[StructLayout(LayoutKind.Sequential)]
应该仔细检查一下代码.
[DllImport("kernel32")]
public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);
private void getMemoryInfo()
{
MEMORY_INFO MemInfo;
MemInfo=new MEMORY_INFO();
GlobalMemoryStatus(ref MemInfo);
lb1.Text=MemInfo.dwMemoryLoad.ToString()+"% 的内存正在使用";
lb2.Text ="物理内存共有: "+MemInfo.dwTotalPhys/1024+"K";
lb3.Text="可使用的物理内存有: "+MemInfo.dwAvailPhys/1024+"K";
lb4.Text="交换文件总大小为: "+MemInfo.dwTotalPageFile/1024+"K";
lb5.Text="尚可交换文件大小为: "+MemInfo.dwAvailPageFile/1024+"K";
lb6.Text="总虚拟内存有: "+MemInfo.dwTotalVirtual/1024+"K";
lb7.Text="未用虚拟内存有: "+MemInfo.dwAvailVirtual/1024+"K";
float memory=MemInfo.dwTotalPageFile/1024/1024*pcM.NextValue()/100;
stBar.Panels[2].Text=String.Format("内存使用: {0}M/{1}M",memory.ToString("0"),MemInfo.dwTotalPageFile/1024/1024);
}
StructLayout(LayoutKind.Sequential)]
public struct MEMORY_INFO
{
public uint dwLength;
public uint dwMemoryLoad;
public uint dwTotalPhys;
public uint dwAvailPhys;
public uint dwTotalPageFile;
public uint dwAvailPageFile;
public uint dwTotalVirtual;
public uint dwAvailVirtual;
}
to曾一刀:能帮忙给看看吗?