public void Gengxin(object a) { App.Current.Dispatcher.Invoke(new Action(() => { lock (this) { try { //刷新前台数据 daima.Shuju_Shebei_PC shuju_Shebei_PC = App.Mianban_.Shebei_dangqian.Shuju as daima.Shuju_Shebei_PC; textblock0.Text = shuju_Shebei_PC.Mingchen; textblock1.Text = "处理器:" + shuju_Shebei_PC.Cpu_info; textblock2.Text = "显卡:" + shuju_Shebei_PC.Gpu_info; textblock3.Text = "内存:" + shuju_Shebei_PC.Ram_info; textblock4.Text = "系统:" + shuju_Shebei_PC.Sys_info; textblock5.Text = "CPU利用率:" + shuju_Shebei_PC.Cpu_use.ToString("0.0") + "%"; textblock6.Text = "GPU占用率:" + shuju_Shebei_PC.Gpu_use.ToString("0.0") + "%"; textblock7.Text = "内存使用率:" + shuju_Shebei_PC.Ram_use.ToString("0.0") + "%"; textblock8.Text = "磁盘活动时间比:" + shuju_Shebei_PC.Hdd_use.ToString("0.0") + "%"; textblock9.Text = "系统连续开机时间:" + shuju_Shebei_PC.Sys_time; //填充图表 //添加数据到表格中 LastHourSeries[0].Values.Add(new ObservableValue(shuju_Shebei_PC.Cpu_wendu)); LastHourSeries[1].Values.Add(new ObservableValue(shuju_Shebei_PC.Gpu_wendu)); //判断是否超过20 if (LastHourSeries[0].Values.Count >= 40) { LastHourSeries[0].Values.RemoveAt(0); } if (LastHourSeries[1].Values.Count >= 40) { LastHourSeries[1].Values.RemoveAt(0); } //循环界面列表 查找不在的控制器将其移除 foreach (var item in warp.Children) { bool shifou = false; kongjian.kongzhi kongzhi_ui = null; //判断是否是控件 if (item is kongjian.kongzhi) { kongzhi_ui = item as kongjian.kongzhi; } else { continue; } foreach (var nei in App.Mianban_.Kongzhis) { //找到则直接下一个 if (kongzhi_ui.kongzhi_.Shuju.Weiyi_shibie == nei.Shuju.Weiyi_shibie) { shifou = true; break; } } //未找到匹配的 if (shifou == false) { warp.Children.Remove((UIElement)item); } } //循环后台控制器列表 查找不在ui的将其添加 foreach (var nei in App.Mianban_.Kongzhis) { bool shifou = false; foreach (var item in warp.Children) { kongjian.kongzhi kongzhi_ui = null; //判断是否是控件 if (item is kongjian.kongzhi) { kongzhi_ui = item as kongjian.kongzhi; } else { continue; } //找到则直接下一个 if (kongzhi_ui.kongzhi_.Shuju.Weiyi_shibie == nei.Shuju.Weiyi_shibie) { shifou = true; } } if (shifou == false) { //未找到匹配的 kongjian.kongzhi linshi = new kongjian.kongzhi(nei); linshi.BoilerEventLog += Linshi_BoilerEventLog; warp.Children.Insert(0, linshi); } } } catch { } } })); }
public void Gengxin(object a) { App.Current.Dispatcher.Invoke(new Action(() => { lock (this) { try { //刷新前台数据 textblock0.Text = kongzhi_.Shuju.Zhujiming; textblock1.Text = "连接设备总数:" + kongzhi_.Shebei_Fus.Count; //循环界面列表 查找不在的控制器将其移除 foreach (var item in warp.Children) { string weiyi = null; bool shifou = false; //判断是否是控件 if (item is kongjian.kongzhi) { kongjian.kongzhi kongzhi_ui = item as kongjian.kongzhi; weiyi = kongzhi_ui.kongzhi_.Shuju.Weiyi_shibie; } else { if (item is kongjian.dainnao) { kongjian.dainnao kongzhi_ui = item as kongjian.dainnao; weiyi = kongzhi_ui.Shebei_PC_.Shuju.Weiyi_shibie; } else { if (item is kongjian.shouji) { kongjian.shouji kongzhi_ui = item as kongjian.shouji; weiyi = kongzhi_ui.Shebei_AD_.Shuju.Weiyi_shibie; } else { continue; } } } foreach (var nei in kongzhi_.Shebei_Fus) { //找到则直接下一个 if (weiyi == nei.Shuju.Weiyi_shibie) { shifou = true; break; } } //未找到匹配的 if (shifou == false) { warp.Children.Remove((UIElement)item); } } //循环后台控制器列表 查找不在ui的将其添加 foreach (var nei in kongzhi_.Shebei_Fus) { bool shifou = false; foreach (var item in warp.Children) { string weiyi = null; //判断是否是控件 if (item is kongjian.kongzhi) { kongjian.kongzhi kongzhi_ui = item as kongjian.kongzhi; weiyi = kongzhi_ui.kongzhi_.Shuju.Weiyi_shibie; } else { if (item is kongjian.dainnao) { kongjian.dainnao kongzhi_ui = item as kongjian.dainnao; weiyi = kongzhi_ui.Shebei_PC_.Shuju.Weiyi_shibie; } else { if (item is kongjian.shouji) { kongjian.shouji kongzhi_ui = item as kongjian.shouji; weiyi = kongzhi_ui.Shebei_AD_.Shuju.Weiyi_shibie; } else { continue; } } } //找到则直接下一个 if (weiyi == nei.Shuju.Weiyi_shibie) { shifou = true; break; } } if (shifou == false) { //未找到匹配的 switch (nei.Shuju.Shebei_shibie) { case 0: kongjian.dainnao linshi = new kongjian.dainnao(nei as daima.Shebei_PC); linshi.BoilerEventLog += Linshi_BoilerEventLog; warp.Children.Insert(0, linshi); break; case 1: kongjian.shouji linshi_ = new kongjian.shouji(nei as daima.Shebei_AD); linshi_.BoilerEventLog += Linshi_BoilerEventLog_; warp.Children.Insert(0, linshi_); break; } } } } catch { } } })); }