标题:大家帮我看看这是什么原因,谢谢~
只看楼主
屯兵
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-9
结帖率:100%
已结贴  问题点数:10 回复次数:8 
大家帮我看看这是什么原因,谢谢~
我用C#写了个小程序,使用timer控件控制界面每隔5秒钟刷新一次,每次刷新是实例话一个用户控件然后添加到主窗体中。但是,程序运行一段时间后就会报错“创建窗体句柄时出错”。监控了一下程序,我的程序内存在不断增加,增加到一定程度就会报错,怀疑是内存空间不足的问题,不知道怎么处理~~本人菜鸟,各位帮帮忙
下面是我的程序代码的一部分
 private void timer1_Tick(object sender, EventArgs e)
  {
   
  try
  {
  this.Controls.Clear();
  GC.Collect();
  //rq1.Recourse.Clear();
  //DBhelp.CoursId(rq1);
  int x = 0;
  if (r % 2 != 0)
  {
  r = r + 1;
  }
  if (fenyi > r)
  fenyi = 2;
  int cishu = 1;

  foreach (ReQueue1.RecourseRow row in rq1.Recourse.Rows)
  {
  if (fenyi - 2 < cishu && cishu <= fenyi)
  {
   
  Route route = new Route(row.Course_Desc, row.Course_Id, "2",this);
  route.Width = this.Width / 2;
  route.Height = this.Height;
  route.Location = new Point(x, 0);
  this.Controls.Add(route);
  x += route.Width;
   
  }
  cishu++;
  }
  fenyi += 2;
  // Dispose();
  }
  catch(Exception ex)
  {
  MessageBox.Show(ex.Message);  
  }
  }

这是出错的位置

namespace WindowsApplication1
{
  static class Program
  {
  /// <summary>
  /// 应用程序的主入口点。
  /// </summary>
  [STAThread]
  static void Main()
  {
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  Application.Run(new mainform());
  }
  }
}
就在加颜色的这一句上
搜索更多相关主题的帖子: 监控 空间 private 用户 
2010-11-09 13:30
zz592987564
Rank: 2
来 自:广东省信宜市
等 级:论坛游民
帖 子:3
专家分:10
注 册:2010-11-6
得分:2 
呵呵,,我也是新手

知识就像海洋的水,学之不进,但是不学就会废弃。。。
2010-11-09 13:36
屯兵
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-9
得分:0 
回复 2楼 zz592987564
共同进步啊
2010-11-09 13:43
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:2 
遇到这个问题一般是因为你创建了过多的句柄而没有及时释放导致的 系统的句柄资源是有限的,创建太多资源耗尽当然会出异常了

[ 本帖最后由 wangnannan 于 2010-11-10 09:00 编辑 ]

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-11-10 08:52
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
得分:2 
Route route = new Route(row.Course_Desc, row.Course_Id, "2",this);
route换成成员变量试试
2010-11-10 09:20
屯兵
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-9
得分:0 
回复 5楼 zhoufeng1988
怎么换成成员变量呀!!写一下呗
2010-11-10 11:32
屯兵
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-9
得分:0 
回复 4楼 wangnannan
那句柄要怎么样才能释放呀
2010-11-10 11:33
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
得分:2 
以下是引用wangnannan在2010-11-10 08:52:39的发言:

遇到这个问题一般是因为你创建了过多的句柄而没有及时释放导致的 系统的句柄资源是有限的,创建太多资源耗尽当然会出异常了
同意这个观点
2010-11-10 16:27
屯兵
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-9
得分:0 
我也知道那个句柄错误了,可要怎么样才能释放掉呢??
2010-11-11 09:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-325384-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.551486 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved