我的類開始新進程(Tshark)並開始捕獲,從主窗體我檢查類屬性以更新我的GUI,有時收到的數據包速率如此之高以至於我的GUI卡住了,所以我想要選擇每1-2秒檢查一下哪些屬性。 這是我的進度變化功能誰一直在檢查我的課程,在這一點上,我更新我的GUI,我如何每2秒檢查一次這些屬性?每隔幾秒對我的類屬性進行示例
Tshark tshark = new Tshark();
private void bgWSniffer_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
tshark = e.UserState as Tshark;
lblNumberOfReceivedPackets.Text = tshark._receivesPackets.ToString("#,##0");
lblTrafficRate.Text = (tshark._bitsPerSecond * 0.000001).ToString("0.##") + " Mbit/sec" + " (" + tshark._bitsPerSecond.ToString("#,##0") + " Bits/sec" + ")";
lblPacketsRate.Text = tshark._packetsPerSecond.ToString("#,##0") + " Packets/sec";
lblStatus.Text = tshark._status;
lblFileSize.Text = formatBytes(tshark._myFile.Length);
tshark._myFile.Refresh();
}
非常感謝! – user1710944
您可能會發現,在某些邊緣情況下,UI不會隨着最後一組結果而更新,這取決於自從將邏輯構建到該事件處理程序中後最後一次ProgressChange被提出時。 – aqwert