public void RefreshNetworkInterfaces() { var currentSelectedItem = AdaptersView.CurrentItem; var adapters = NetworkInterface.GetAllNetworkInterfaces(); foreach (var removed in _adapters.Where(p => !adapters.Any(p2 => p2.Id == p.NetworkInterface.Id)).ToList()) { _adapters.Remove(removed); } foreach (NetworkInterface adapter in adapters) { var adapterToUpdate = _adapters.FirstOrDefault(a => a.NetworkInterface.Id == adapter.Id); if (adapterToUpdate != null) { adapterToUpdate.NetworkInterface = adapter; adapterToUpdate.HideIpV6Addresses = HideIpV6Addresses; } else { _adapters.Add(new NetworkInterfaceViewModel(adapter) { HideIpV6Addresses = HideIpV6Addresses }); } } AdaptersView?.Refresh(); AdaptersView?.MoveCurrentTo(currentSelectedItem); }
public Form1(Adapters aEngine, Connections cEngine) { _aEngine = aEngine; _cEngine = cEngine; InitializeComponent(); AdaptersView av = new AdaptersView(_aEngine, this, adaptersList); _connectionView = new ConnectionsView(_cEngine, this, connectionList); _speedChart = new SpeedChart(this, _aEngine, pictureBox1); _connectionView.OnUpdateGroup += GropsUpdated; }