本文共 3277 字,大约阅读时间需要 10 分钟。
MaterialTabControl1_SelectedIndexChanged事件处理
// TabControl索引变化事件处理程序 private void materialTabControl1_SelectedIndexChanged(object sender, EventArgs e) { // 切换至分析表页面 if (this.materialTabControl1.SelectedIndex == 2) { // 初始化listview1和listview2 DirectoryInfo matDirInfo1 = new DirectoryInfo(Path.Combine(tbSavedDir.Text.Trim(), "过杀图像")); FileInfo[] files1 = matDirInfo1.GetFiles(); foreach (var item in files1) { lstv1.Items.Add(new ListViewItem(new string[] { item.FullName }, 0)); } DirectoryInfo matDirInfo2 = new DirectoryInfo(Path.Combine(tbSavedDir.Text.Trim(), "漏失图像")); FileInfo[] files2 = matDirInfo2.GetFiles(); foreach (var item in files2) { lstv2.Items.Add(new ListViewItem(new string[] { item.FullName }, 0)); } UpdateEscapeOverKill(); pictureBox6.Image = Image.FromFile(@"D:\1.png"); pictureBox7.Image = Image.FromFile(@"D:\2.png"); } // 切换至真值表页面 else if (this.materialTabControl1.SelectedIndex == 1) { // 获取并解析真值表数据 JObject allDefectInfo = JSONHelper.ReadJSON(Path.Combine(tbSavedDir.Text.Trim(), "真值表.json")); int imgNum = allDefectInfo.Count; // 提取缺陷信息 ListallDefectList = new List (); foreach (var item in allDefectInfo) { string defectName = (string)item.Value["defectName"]; string[] defectNames = defectName.Split('+'); foreach (var item2 in defectNames) { allDefectList.Add(item2); } } // 统计缺陷类型和数量 var counts = allDefectList.GroupBy(x => x).ToDictionary(x => x.Key, x => x.Count); // 初始化数据绑定列表 List defectCategoryList = new List (); List defectDefectCountList = new List (); foreach (var item in counts) { defectCategoryList.Add(item.Key); defectDefectCountList.Add(item.Value); } // 更新图表数据 cartesianChart1.Series = new SeriesCollection(); ColumnSeries chartSeries = new ColumnSeries(); chartSeries.Title = "缺陷数量"; chartSeries.DataLabels = true; chartSeries.Values = new ChartValues () { }; cartesianChart1.Series.Add(chartSeries); foreach (var item in defectDefectCountList) { chartSeries.Values.Add(item); } if (cartesianChart1.AxisX.Count == 0) { cartesianChart1.AxisX.Add(new Axis { Title = "缺陷类型", Labels = defectCategoryList, Separator = new Separator { Step = 1 } }); } else { cartesianChart1.AxisX[0] = new Axis { Title = "缺陷类型", Labels = defectCategoryList, Separator = new Separator { Step = 1 } }; } if (cartesianChart1.AxisY.Count == 0) { cartesianChart1.AxisY.Add(new Axis { Title = "个数", LabelFormatter = value => value.ToString("N") }); } else { cartesianChart1.AxisY[0] = new Axis { Title = "个数", LabelFormatter = value => value.ToString("N") }; } //
转载地址:http://zkyfk.baihongyu.com/