private void DGVUpdate(IPDisplayPacket packet) { // Remove rows if there are too many if (DGV.Items.Count > _maxBuffer) { var firstItem = _displayPackets.Dequeue(); DGV.RemoveObject(firstItem); } _displayPackets.Enqueue(packet); DGV.AddObject(packet); }