[英]DataGridView Button Column not showing image on CellPainting
[英]Showing the same image repeatedly in a DataGridView without memory over-use
我想我在做一些非常愚蠢的事情,但找不到替代方案!
我有一個我的表單將要處理的文件列表,並且正在使用 datagridview 來顯示它們以及我在列表中的進度。 我有一個“等待”“處理”和“完成”的圖像資源,並將它們全部放入DataGridViewImageColumn
中。
For Each file As String In folderListing
DataGridView1.Rows.Add(file, My.Resources.WaitingImg)
Next
問題是,它似乎為每個圖像使用了一小塊 RAM,當我在測試運行中有 5,000 個時,它使用了 4Gb ...
我該怎么做才能只加載一次資源但在數百或數千個地方顯示它?
不要重復使用My.Resources
的任何屬性。 每次使用此類屬性時,它都會從資源中提取數據並創建一個新的 object。 在任何特定上下文中,獲取一次屬性,分配給一個變量,然后多次使用該變量,例如
Dim waitingImg = My.Resources.WaitingImg
For Each file As String In folderListing
DataGridView1.Rows.Add(file, waitingImg)
Next
如果您需要更改圖像,請先將資源屬性分配給字段,然后在需要時使用這些字段設置單元格值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.