我有一個存儲從usb收集的數據的類。我經常使用背景線程讀取數據,睡眠10ms,然後重複。如何在後臺更新datagridview
使用List(of T)類將數據綁定到datagridview _mydatagrid中。我不使用BindingList(Of T),因爲它會非常頻繁地更新數據網格,並會消耗大量的CPU資源。
要更新數據網格中,我使用兩種機制:
如果數據的大小增長:
_mydatagrid.DataSource =無
_mydatagrid.DataSource =(的實例我的存儲數據類)
如果數據大小已達到我要存儲的限制:
我打算_mydatagrid.Invalidate()
的代碼工作正常,很少的CPU使用率。但有一件令我困擾的事情是,當datagridview更新時,它傾向於將注意力集中到它。因此,如果我打開另一個應用程序,尤其是具有多個窗體窗體的應用程序,datagridview會與另一個應用程序爭鬥,以便在更新時關注它。因此它彈出很多,並且看起來很有侵略性,而且不是用戶友好的。
有沒有辦法更新datagridview靜默。我試着在背景中做到這一點,但我注意到,即使如此,當調用_mydatagridview.Invalidate()
或_mydatagridview.Refresh()
時,無論如何,它都會獲得焦點。
有什麼建議嗎?
你能詳細說一下「獲取焦點」嗎?焦點實際上是否會從其他控件移動到datagridview或datagridview激活的表單中,還是僅僅因爲它閃爍而暗示它會吸引眼球? – AaronTheRabbit