我正在创建一个仪表板应用程序,它在FlowLayoutPanel
.
每个“项目”是UserControl
由 12 个文本框或标签组成的。
我的应用程序查询数据库,然后为每条记录创建一个“项目”实例,在将数据添加到FlowLayoutPanel
.
在面板中添加了大约 560 个项目后,我注意到USER Objects
我的任务管理器中的计数已经上升到大约 7300,这比我机器上的任何其他应用程序都要大得多。
我认为 560 * 13(12 个标签加上 UserControl 本身)是 7280。所以这突然泄露了所有对象的来源......
知道在 Windows 认输之前有 10,000 个 USER 对象限制,我试图找出更好的方法将这些“项目”绘制到FlowLayoutPanel
.
到目前为止,我的想法如下:
用户绘制“项目”,使用
graphics.DrawText
和DrawImage
代替许多标签。我希望这意味着 1 item = 1USER Object
,而不是 13。拥有“项目”的 1 个实例,然后对于每条记录,填充实例并使用该
Control.DrawToBitmap()
方法抓取图像,然后在FlowLayoutPanel
(或类似)中使用该图像
所以...有没有人有任何其他建议???
PS 这是一个可缩放的界面,所以我已经排除了“分页”,因为需要一次查看所有项目