public NetworkPage() { InitializeComponent(); VentsTools.onChangeSettingsString += this.UpdateMessageLabel; onVipsChange += NetworkPage_onVipsChange; Vips = new ventEnergyIPSettings(); ventEnergyIPSettings.onBelsIPChange += UpdateBelsIP; ventEnergyIPSettings.onBelsMaskChange += UpdateBelsMask; ventEnergyIPSettings.onBelsGateChange += UpdateBelsGate; ventEnergyIPSettings.onWincIPChange += UpdateWincIP; ventEnergyIPSettings.onWincMaskChange += UpdateWincMask; ventEnergyIPSettings.onWincGateChange += UpdateWincGate; //заполним комбобокс всеми сетевыми адаптерами в системе if ((_cbaItemSource = _netwAdapters.GetAdapters()) != null) { belsIPadr.IsEnabled = false; belsMask.IsEnabled = false; belsGate.IsEnabled = false; wincIPadr.IsEnabled = false; wincMask.IsEnabled = false; wincGate.IsEnabled = false; applyBelsbutt.IsEnabled = false; applyWincbutt.IsEnabled = false; comboBoxAdapters.ItemsSource = _cbaItemSource; _cfgthread = new Thread(() => Config()); _cfgthread.Start(); } else { _log.Info("Нет доступных сетевых адаптеров"); VentsTools.currentSettingString = "Нет доступных сетевых адаптеров"; } }
private void NetworkPage_onVipsChange(ventEnergyIPSettings v) { Dispatcher.Invoke(new Action(() => belsIPadr.Text = v.belsIP)); Dispatcher.Invoke(new Action(() => belsMask.Text = v.belsMask)); Dispatcher.Invoke(new Action(() => belsGate.Text = v.belsGate)); Dispatcher.Invoke(new Action(() => wincIPadr.Text = v.wincIP)); Dispatcher.Invoke(new Action(() => wincMask.Text = v.wincMask)); Dispatcher.Invoke(new Action(() => wincGate.Text = v.wincGate)); }
private ventEnergyIPSettings GetIPSettings(string guid) { List<string> settingsList = new List<string>(); ventEnergyIPSettings settings = new ventEnergyIPSettings(); string[] settingsArr; try { settingsArr = RegistryWorker.GetKeyValue<string[]>(Microsoft.Win32.RegistryHive.LocalMachine, VentsConst._ADAPTERSLOCATION, guid); } catch (System.IO.IOException) { settingsArr = null; } catch (Exception ex) { _log.Error(ex.Message + " (чтение из реестра)"); VentsTools.currentSettingString = "Ошибка чтения реестра"; settingsArr = null; } if (settingsArr != null) { for (int i = 0; i < VentsConst._CLIENSETTINGSCOUNT; i++) { if (i < settingsArr.Length) settingsList.Add(settingsArr[i]); else settingsList.Add(""); } settings.belsIP = settingsList[0]; settings.belsMask = settingsList[1]; settings.belsGate = settingsList[2]; settings.wincIP = settingsList[3]; settings.wincMask = settingsList[4]; settings.wincGate = settingsList[5]; } return settings; }