是你代码里调用dll时有不对的地方,所以才抛异常.
自己好好检查下代码吧.

解决方案 »

  1.   

    在你的onpaint里面加这样一句// adjust 
    if (e.ClipRectangle.IsEmpty)
    return ;
      

  2.   

    总共用了两个DLL
    [DllImport("kernel32")]     
    public   static   extern   void   GlobalMemoryStatus(ref   MEMORY_INFO   meminfo);

    [StructLayout(LayoutKind.Sequential)]
      

  3.   

    估计是不是因为你的程序是实时绘图,而在窗体切换的时候触发了绘图的动作,但因为当前运行的窗体已经切换.所以才产生EXCEPTION.具体还是要进行异常跟踪才能确切.
      

  4.   

    目前的情况是,我设置了错误捕捉,也跳不到Catch,就直接报错了
      

  5.   

    每次子窗体切换时,我只是把其中一个不显示的visiable=false
      

  6.   

    因为其中一个的clientrectangle的大小为Empty,所以你操作这个Rectangle就要报这个错误
      

  7.   

    跟你说了,是在调用DLL时出错的.捕获不了异常,异常发生在DLL内部,是你使用不当.
    应该仔细检查一下代码.
      

  8.   

    //获取内存的使用情况
    [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;  
    }
      

  9.   

    就这里使用了dll.
    to曾一刀:能帮忙给看看吗?