在wince开发中,在一个Form中放置了一个tabcontrol,然后加入了60个左右的tabpage,每个tabpage中大概有20多个textbox控件或者其他的控件,但是继续添加控件后,在debug的时候,InitializeComponent()方法出现了Outofmemory异常,而直接在目标平台执行.exe程序还是可以运行。请问是什么原因造成的,有什么解决办法?谢谢啦!

解决方案 »

  1.   

    适当的去掉一些控件,看看依然出现,debug看看具体在哪个控件加载时报错
      

  2.   

    建议使用用户控件,然后绑定到tabpage中,既保证加载速度,代码还可以分解到不同的文件中。方法是在项目选添加->用户控件,生成的东西和form差不多。可以将其直接拖入form中。
      

  3.   

    谢谢啊,报错只能定位到InitializeComponent()方法,用户控件绑定到tabpage是什么意思能具体点吗?逐步初始化是什么意思,因为就一个form,所以就一个InitializeComponent()方法,是否需要多个form来解决咧?
      

  4.   

    可是InitializeComponent()是自动生成的啊,只要增加控件,就会有相应的"new control()"语句添加。要是动态添加控件并不好维护,尤其还要为控件添加事件。
      

  5.   

    可是InitializeComponent()是自动生成的啊,只要增加控件,就会有相应的"new control()"语句添加。要是动态添加控件并不好维护,尤其还要为控件添加事件。