我收到运行时错误“创建窗口句柄时出错”。根据我的研究,我知道此错误通常表明应用程序已超过 Windows 的 10,000 个句柄限制,我应该通过确保没有不必要地创建句柄并正确处理来解决该错误。
但是,我找不到任何有关导致创建窗口句柄的原因的文档。每次我实例化一个窗体时都会创建一个窗口句柄吗?每次我实例化一个控件?每次我实例化一个类?要不然是啥?
是不是说对于light-UI的应用,使用的句柄数量不需要特别在意,但是对于图形元素较多的应用,程序员就必须采取措施限制窗口句柄的数量?这就是“无窗口控件”和“轻量级控件”的全部意义吗?还有其他我应该了解的相关概念吗?
到目前为止,我还没有认为我的应用程序是 UI 密集型的。但是,它确实显示了一个图表网格,其中每个图表都是由几个组件控件组成的用户控件。对于大型分析,控制的总数可能达到数千。假设我想保留这个网格,有没有我可以应用的特定技术来保持句柄倒计时?例如,有没有办法“渲染”一个控件,使其仍然可见,但不再需要窗口句柄?
-TC