[英]DataGridView.Invoke throws NullReferenceException
我對DataGridView.Invoke有問題。
delegate void CheckMainTableCallback();
static void CheckMainTable()
{
if (Program.MonitorApp.ServersTable.InvokeRequired)
{
CheckMainTableCallback Safe = new CheckMainTableCallback(CheckMainTable);
MonitorApp.ServersTable.Invoke(Safe);
}
else
{
foreach (DataGridViewRow r in MonitorApp.MainTable.Rows)
{
**r.Cells["Load"].Value =
(Servers.Find(
p => p.NAME == r.Cells[0].ToString()
)
.GetSystemValue("% Proccess Usage"));** // exception here
}
}
}
所以我調用CheckMainTable從ServersTable(由另一個線程使用)獲取值到我的MainTable。 並拋出NullReference。 我究竟做錯了什么?
因此,跟蹤這樣的異常是一個接一個的過程。 考慮以下這一行:
r.Cells[0].ToString()
如果r.Cells[0]
為null
則可能拋出。
此外,如果.GetSystemValue
Servers.Find(...
的結果為null
, .GetSystemValue
拋出.GetSystemValue
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.