/// <summary> /// 工作簿的组合列表框的选择项发生变化时,更新施工进度工作表的列表框 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <remarks></remarks> public void CmbbxProgressWkbk_SelectedValueChanged(object sender, EventArgs e) { Workbook wkbk = default(Workbook); LstbxDisplayAndItem lstItem = (LstbxDisplayAndItem)CmbbxProgressWkbk.SelectedItem; if (lstItem == null) { this.LstbxSheetsProgressInProject.DataSource = null; this.LstbxSheetsProgressInWkbk.DataSource = null; } else { wkbk = (Workbook)lstItem.Value; //'-- 这里的shtsObject只能声明为Object,而不能声明为Worksheets接口,否则会出现异常: //无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型 //“Microsoft.Office.Interop.Excel.Worksheets”。此操作失败的原因是对 IID //为“{000208B1-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface //因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。 //'-- 但是这里一定要如此调用,而不用dim sht as worksheet=wkbk.Worksheets(i)去一次一次地 //调用每一个单个的工作表,是为了避免多次调用Worksheets接口。 dynamic shtsObject = wkbk.Worksheets; short shtCount = System.Convert.ToInt16(shtsObject.Count); LstbxDisplayAndItem[] arrSheets = new LstbxDisplayAndItem[shtCount - 1 + 1]; for (var i = 0; i <= shtCount - 1; i++) { Worksheet sht = shtsObject[i + 1]; //Worksheets接口的集合中的第一个元素的下标值为1 arrSheets[(int)i] = new LstbxDisplayAndItem(sht.Name, sht); } LstbxSheetsProgressInWkbk.DataSource = arrSheets; } }
/// <summary> /// 在项目中移除数据库工作簿 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <remarks>在从列表框中移除项目时,一定要注意,由于集合的数据结构,所以删除时要从后面的开始删除, /// 否则可能会出现索引不到的情况。</remarks> public void BtnRemoveWorkbook_Click(object sender, EventArgs e) { byte count = (byte)LstBxWorkbooks.SelectedIndices.Count; if (count > 0) { List <LstbxDisplayAndItem> DataSource = new List <LstbxDisplayAndItem>(); if (LstBxWorkbooks.DataSource != null) { foreach (LstbxDisplayAndItem i in (LstBxWorkbooks.DataSource as List <LstbxDisplayAndItem>)) { DataSource.Add(i); } } // Workbook wkbk = default(Workbook); LstbxDisplayAndItem lstbxItem = default(LstbxDisplayAndItem); int index = 0; for (int i = (count - 1); i >= 0; i--) { index = LstBxWorkbooks.SelectedIndices[i]; lstbxItem = DataSource[index]; // wkbk = (Workbook)lstbxItem.Value; wkbk.Close(false); DataSource.RemoveAt(index); } LstBxWorkbooks.DataSource = DataSource; if (WorkBookInProjectChangedEvent != null) { WorkBookInProjectChangedEvent(BtnRemoveWorkbook, this.F_NewFileContents, true); } } }
/// <summary> /// 选择监测数据的文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <remarks></remarks> public void btnChooseMonitorData_Click(object sender, EventArgs e) { string FilePath = ""; APPLICATION_MAINFORM.MainForm.OpenFileDialog1.Title = "选择测斜数据文件"; APPLICATION_MAINFORM.MainForm.OpenFileDialog1.Filter = "Excel文件(*.xlsx, *.xls, *.xlsb)|*.xlsx;*.xls;*.xlsb"; APPLICATION_MAINFORM.MainForm.OpenFileDialog1.FilterIndex = 2; if (APPLICATION_MAINFORM.MainForm.OpenFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { FilePath = APPLICATION_MAINFORM.MainForm.OpenFileDialog1.FileName; } else { return; } if (FilePath.Length > 0) { //将监测数据文件在DataBase的Excel程序中打开 try { //有可能会出现选择了同样的监测数据文档 bool fileHasOpened = false; foreach (LstbxDisplayAndItem item in this.ComboBoxOpenedWorkbook.Items) { Excel.Workbook wkbk = (Excel.Workbook)item.Value; if (string.Compare(wkbk.FullName, FilePath, true) == 0) { this.F_wkbkData = wkbk; fileHasOpened = true; break; } } // ---------------------------- if (fileHasOpened) { MessageBox.Show("选择的工作簿已经打开", "Tip", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { this.F_wkbkData = GlobalApplication.Application.ExcelApplication_DB.Workbooks.Open(Filename: FilePath, UpdateLinks: false, ReadOnly: true); LstbxDisplayAndItem lstItem = new LstbxDisplayAndItem(this.F_wkbkData.Name, this.F_wkbkData); this.ComboBoxOpenedWorkbook.Items.Add(lstItem); this.ComboBoxOpenedWorkbook.SelectedItem = lstItem; if (DataWorkbookChangedEvent != null) { DataWorkbookChangedEvent(this.F_wkbkData); } } } catch (Exception) { Debug.Print("打开新的数据工作簿出错!"); return; } } }
public void ComboBox_WorkingStage_SelectedIndexChanged(object sender, EventArgs e) { this.F_WorkingStage = null; LstbxDisplayAndItem lstItem = ComboBox_WorkingStage.SelectedItem as LstbxDisplayAndItem;; if (lstItem != null) { if (!lstItem.Value.Equals(LstbxDisplayAndItem.NothingInListBox.None)) { F_WorkingStage = (List <clsData_WorkingStage>)lstItem.Value; } } }
public void ComboBox_Column_ShapeID_SelectedIndexChanged(object sender, EventArgs e) { LstbxDisplayAndItem lstItem = this.ComboBox_Column_ShapeID.SelectedItem; try { this.F_IndexOfShapeID = (int)lstItem.Value; } catch (Exception) { //MessageBox.Show(ex.Message, "选择形状ID的字段出错!", MessageBoxButtons.OK, MessageBoxIcon.Warning) } this.btnLink.Enabled = false; }
/// <summary> /// 从Visio文档中返回其中的所有DataRecordset对象的数组 /// </summary> /// <param name="Doc"></param> /// <returns></returns> /// <remarks></remarks> private LstbxDisplayAndItem[] GetDataRsFromDoc(Microsoft.Office.Interop.Visio.Document Doc) { short DRSsCount = (short)Doc.DataRecordsets.Count; LstbxDisplayAndItem[] arrItems = new LstbxDisplayAndItem[DRSsCount - 1 + 1]; short i = (short)0; foreach (Microsoft.Office.Interop.Visio.DataRecordset DRS in Doc.DataRecordsets) { arrItems[i] = new LstbxDisplayAndItem(DRS.Name, DRS); i++; } return(arrItems); }
public void ComboBox_Page_SelectedIndexChanged(object sender, EventArgs e) { LstbxDisplayAndItem lstItem = this.ComboBox_Page.SelectedItem; try { this.F_vsoPage = (Microsoft.Office.Interop.Visio.Page)lstItem.Value; } catch (Exception) { //MessageBox.Show(ex.Message, "选择Visio页面出错!", MessageBoxButtons.OK, MessageBoxIcon.Warning) } this.btnLink.Enabled = false; }
/// <summary> /// 当选择的数据工作表发生变化时引发 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <remarks></remarks> public void listSheetsName_SelectedIndexChanged(object sender, EventArgs e) { this.F_shtMonitorData = (Excel.Worksheet)listSheetsName.SelectedValue; //wkbkData.Worksheets(listSheetsName.SelectedItem) string[] arrPointsTag = null; //此工作表中的测点的编号列表 //测点编号所在的起始行与末尾行 int startRow = RowNum_FirstData_WithoutDate; int endRow = F_shtMonitorData.UsedRange.Rows.Count; int endColumn = F_shtMonitorData.UsedRange.Columns.Count; F_arrBottomRightCorner = new[] { endRow, endColumn }; //'进行操作的工作表的UsedRange的右下角的行号与列号 if (endRow >= startRow) { Excel.Range rg_PointsTag = F_shtMonitorData.Columns[ColNum_PointsTag].Range(F_shtMonitorData.Cells[startRow, 1], F_shtMonitorData.Cells[endRow, 1]); arrPointsTag = ExcelFunction.ConvertRangeDataToVector <string>(rg_PointsTag); //------------ 将编号列表的每一个值与其对应的行号添加到字典dicPointTag_RowNum中 short TagsCount = (short)arrPointsTag.Length; LstbxDisplayAndItem[] arrPoints = new LstbxDisplayAndItem[TagsCount - 1 + 1]; int add = 0; int i = 0; foreach (string tag in arrPointsTag) { //在Excel数据表中,每一个监测点位的Tag所在的行号。 short RowNumToPointsTag = (short)(startRow + add); arrPoints[i] = new LstbxDisplayAndItem(tag, startRow + add); add++; i++; } //---------------------- 将编号列表的所有值显示在窗口的测点列表中 ListBoxPointsName.DisplayMember = LstbxDisplayAndItem.DisplayMember; ListBoxPointsName.ValueMember = LstbxDisplayAndItem.ValueMember; ListBoxPointsName.DataSource = arrPoints; //.Items.Clear() //.Items.AddRange(arr) //.SelectedIndex = 0 '选择列表中的第一项 // btnGenerate.Enabled = true; } else //说明此表中的监测数据行数小于1 { ListBoxPointsName.DataSource = null; //ListPointsName.Items.Clear() MessageBox.Show("此工作表没有合法数据(数据行数小于1行),请选择合适的工作表", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Error); F_shtMonitorData = null; btnGenerate.Enabled = false; } }
/// <summary> /// 从Visio文档中返回其中的所有Page对象的数组 /// </summary> /// <param name="Doc"></param> /// <returns></returns> /// <remarks></remarks> private LstbxDisplayAndItem[] GetPagesFromDoc(Microsoft.Office.Interop.Visio.Document Doc) { short pagesCount = Doc.Pages.Count; LstbxDisplayAndItem[] arrItems = new LstbxDisplayAndItem[pagesCount - 1 + 1]; short i = (short)0; foreach (Microsoft.Office.Interop.Visio.Page page in Doc.Pages) { arrItems[i] = new LstbxDisplayAndItem(page.Name, page); i++; } return(arrItems); }
/// <summary> /// 从Visio文档的数据记录集中返回其中的字段列对象的数组 /// </summary> /// <param name="DRS"></param> /// <returns></returns> /// <remarks></remarks> private LstbxDisplayAndItem[] GetColumnsFromDataRS(Microsoft.Office.Interop.Visio.DataRecordset DRS) { int ColumnsCount = DRS.DataColumns.Count; LstbxDisplayAndItem[] arrItems = new LstbxDisplayAndItem[ColumnsCount - 1 + 1]; int i = 0; foreach (Microsoft.Office.Interop.Visio.DataColumn Column in DRS.DataColumns) { //在数据记录集中,第一列数据的Index为0。 arrItems[i] = new LstbxDisplayAndItem(Column.DisplayName, i); i++; } return(arrItems); }
//开挖工况的数据工作表 public void CmbbxWorkingStage_SelectedIndexChanged(object sender, EventArgs e) { LstbxDisplayAndItem LstbxItem = CmbbxWorkingStage.SelectedItem as LstbxDisplayAndItem; if (LstbxItem != null) { if (!LstbxItem.Value.Equals(LstbxDisplayAndItem.NothingInListBox.None)) { this.F_NewFileContents.Sheet_WorkingStage = (Worksheet)LstbxItem.Value; } else { this.F_NewFileContents.Sheet_WorkingStage = null; } } }
public void ComboBox_DataRs_SelectedIndexChanged(object sender, EventArgs e) { LstbxDisplayAndItem lstItem = this.ComboBox_DataRs.SelectedItem; try { Microsoft.Office.Interop.Visio.DataRecordset DataRs = (Microsoft.Office.Interop.Visio.DataRecordset)lstItem.Value; this.F_vsoDataRs = DataRs; //更新数据记录集中的字段列。 this.ComboBox_Column_ShapeID.DataSource = GetColumnsFromDataRS(DataRs); } catch (Exception) { //MessageBox.Show(ex.Message, "选择数据记录集出错!", MessageBoxButtons.OK, MessageBoxIcon.Warning) } this.btnLink.Enabled = false; }
/// <summary> /// 选择进行绘图的数据工作簿 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <remarks></remarks> public void ComboBoxOpenedWorkbook_SelectedIndexChanged(object sender, EventArgs e) { LstbxDisplayAndItem lst = this.ComboBoxOpenedWorkbook.SelectedItem as LstbxDisplayAndItem; try { Excel.Workbook Wkbk = (Excel.Workbook)lst.Value; this.F_wkbkData = Wkbk; APPLICATION_MAINFORM.MainForm.StatusLabel1.Visible = true; APPLICATION_MAINFORM.MainForm.StatusLabel1.Text = Wkbk.FullName; if (DataWorkbookChangedEvent != null) { DataWorkbookChangedEvent(this.F_wkbkData); } } catch (Exception) { Debug.Print("选择数据工作簿出错"); } }
/// <summary> /// 将项目文件中的工作表添加到组合列表框中 /// </summary> /// <param name="cmbx">进行添加的组合列表框</param> /// <param name="destinationSheet">要添加到组合列表框中的工作表对象</param> /// <remarks></remarks> private void SheetToComboBox(ComboBox cmbx, Worksheet destinationSheet) { LstbxDisplayAndItem lstbxItem = default(LstbxDisplayAndItem); Worksheet sht = default(Worksheet); ComboBox with_1 = cmbx; foreach (LstbxDisplayAndItem tempLoopVar_lstbxItem in with_1.Items) { lstbxItem = tempLoopVar_lstbxItem; if (!lstbxItem.Value.Equals(LstbxDisplayAndItem.NothingInListBox.None)) { //有可能会出现列表中的项目不能转换为工作表对象的情况,比如第一项"" sht = (Worksheet)lstbxItem.Value; if (ExcelFunction.SheetCompare(sht, destinationSheet)) { with_1.SelectedItem = lstbxItem; break; } } } }
/// <summary> /// 当进行绘图的数据工作簿发生变化时触发 /// </summary> /// <param name="WorkingDataWorkbook">要进行绘图的数据工作簿</param> /// <remarks></remarks> public void frmDrawing_Mnt_Incline_DataWorkbookChanged(Excel.Workbook WorkingDataWorkbook) { //-------- 在列表中显示出监测数据工作簿中的所有工作表 byte sheetsCount = (byte)WorkingDataWorkbook.Worksheets.Count; LstbxDisplayAndItem[] arrWorkSheets = new LstbxDisplayAndItem[sheetsCount - 1 + 1]; byte i = (byte)0; foreach (Excel.Worksheet sht in WorkingDataWorkbook.Worksheets) { arrWorkSheets[i] = new LstbxDisplayAndItem(sht.Name, sht); i++; } listSheetsName.DisplayMember = LstbxDisplayAndItem.DisplayMember; listSheetsName.ValueMember = LstbxDisplayAndItem.ValueMember; listSheetsName.DataSource = arrWorkSheets; //.Items.Clear() //.Items.AddRange(sheetsNameList) //.SelectedItem = .Items(0) // btnGenerate.Enabled = true; }
/// <summary> /// 在列表中列出所有基坑区域的Tag值 /// </summary> /// <param name="ProcessRange"></param> /// <remarks></remarks> private void RefreshComobox_ProcessRange(List <clsData_ProcessRegionData> ProcessRange) { if (ProcessRange != null) { try { // list all the tags of each excavation region in the listbox byte count = System.Convert.ToByte(ProcessRange.Count); LstbxDisplayAndItem[] arrItems = new LstbxDisplayAndItem[count - 1 + 1]; byte i = (byte)0; foreach (clsData_ProcessRegionData PR in ProcessRange) { arrItems[i] = new LstbxDisplayAndItem(DisplayedText: PR.description, Value: PR); i++; } GeneralMethods.RefreshCombobox(this.lstbxChooseRegion, arrItems); } catch (Exception) { } } }
private void RefreshCombox_WorkingStage(Dictionary <string, List <clsData_WorkingStage> > NewWorkingStage) { if (NewWorkingStage != null) { Dictionary <,> with_1 = NewWorkingStage; try { var RegionNames = with_1.Keys; var WorkingStages = with_1.Values; int TagsCount = System.Convert.ToInt32(with_1.Count); LstbxDisplayAndItem[] TagsList = new LstbxDisplayAndItem[TagsCount + 1]; TagsList[0] = new LstbxDisplayAndItem("无", LstbxDisplayAndItem.NothingInListBox.None); // for (int i1 = 0; i1 <= TagsCount - 1; i1++) { TagsList[i1 + 1] = new LstbxDisplayAndItem(System.Convert.ToString(RegionNames(i1)), WorkingStages(i1)); } GeneralMethods.RefreshCombobox(this.ComboBox_WorkingStage, TagsList); } catch (Exception) { } } }
//添加或者移除工作簿 /// <summary> /// 在项目中添加数据库的工作簿 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <remarks></remarks> public void btnAddWorkbook_Click(object sender, EventArgs e) { string FilePath = ""; APPLICATION_MAINFORM.MainForm.OpenFileDialog1.Title = "选择Excel数据工作簿"; APPLICATION_MAINFORM.MainForm.OpenFileDialog1.Filter = "Excel文件(*.xlsx, *.xls, *.xlsb)|*.xlsx;*.xls;*.xlsb"; APPLICATION_MAINFORM.MainForm.OpenFileDialog1.FilterIndex = 1; if (APPLICATION_MAINFORM.MainForm.OpenFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { FilePath = APPLICATION_MAINFORM.MainForm.OpenFileDialog1.FileName; } if (FilePath.Length > 0) { Workbook wkbk = null; //先看选择的工作簿是否已经在数据库的Excel程序中打开 bool blnOpenedInApp = false; foreach (Workbook wkbkOpened in GlbApp.ExcelApplication_DB.Workbooks) { if (string.Compare(wkbkOpened.FullName, FilePath) == 0) { wkbk = wkbkOpened; blnOpenedInApp = true; break; } } // if (!blnOpenedInApp) //如果此工作簿还没有在Excel程序中打开 { //则将其打开,并添加到列表框中 wkbk = GlbApp.ExcelApplication_DB.Workbooks.Open(Filename: FilePath, UpdateLinks: false, ReadOnly: true); //为列表框中添加新元素 List <LstbxDisplayAndItem> DataSource = new List <LstbxDisplayAndItem>(); if (LstBxWorkbooks.DataSource != null) { foreach (LstbxDisplayAndItem i in (LstBxWorkbooks.DataSource as List <LstbxDisplayAndItem>)) { DataSource.Add(i); } } DataSource.Add(new LstbxDisplayAndItem(FilePath, wkbk)); LstBxWorkbooks.DataSource = DataSource; // if (WorkBookInProjectChangedEvent != null) { WorkBookInProjectChangedEvent(btnAddWorkbook, this.F_NewFileContents, false); } } else //说明此工作簿已经在Excel中打开 { //则先检查它是否已经添加到了列表框中 LstbxDisplayAndItem lstbxItem = default(LstbxDisplayAndItem); bool blnShownInListbox = false; foreach (LstbxDisplayAndItem tempLoopVar_lstbxItem in LstBxWorkbooks.Items) { lstbxItem = tempLoopVar_lstbxItem; Workbook wkbkInproject = (Workbook)lstbxItem.Value; if (string.Compare(wkbkInproject.FullName, FilePath) == 0) { blnShownInListbox = true; } } if (!blnShownInListbox) { //为列表框中添加新元素 List <LstbxDisplayAndItem> DataSource = new List <LstbxDisplayAndItem>(); var controlSource = LstBxWorkbooks.DataSource as List <LstbxDisplayAndItem>; if (controlSource != null) { foreach (LstbxDisplayAndItem i in controlSource) { DataSource.Add(i); } } DataSource.Add(new LstbxDisplayAndItem(FilePath, wkbk)); LstBxWorkbooks.DataSource = DataSource; // if (WorkBookInProjectChangedEvent != null) { WorkBookInProjectChangedEvent(btnAddWorkbook, this.F_NewFileContents, false); } } } //再看将工作簿对象添加到列表中 } }
/// <summary> /// 项目中的数据库工作簿发生变化时,更新窗口中的相关列表框中的数据对象 /// </summary> /// <param name="lstAllsheet"></param> /// <param name="FileContents"></param> /// <remarks></remarks> private void ListControlRefresh(List <LstbxDisplayAndItem> lstAllsheet, clsData_FileContents FileContents) { short intSheetsCount = System.Convert.ToInt16(lstAllsheet.Count); LstbxDisplayAndItem[] arrAllSheets1 = new LstbxDisplayAndItem[intSheetsCount - 1 + 1]; LstbxDisplayAndItem[] arrAllSheets2 = new LstbxDisplayAndItem[intSheetsCount - 1 + 1]; LstbxDisplayAndItem[] arrAllSheets3 = new LstbxDisplayAndItem[intSheetsCount - 1 + 1]; LstbxDisplayAndItem[] arrAllSheets4 = new LstbxDisplayAndItem[intSheetsCount - 1 + 1]; //这里一定要生成副本,因为如果是同一个引用变量,那么设置到三个控件的DataSource属性中后, //如果一个列表组合框的选择项发生变化,那个另外两个控件的选择项也会同步变化。 arrAllSheets1 = lstAllsheet.ToArray() as LstbxDisplayAndItem[]; arrAllSheets2 = arrAllSheets1.Clone() as LstbxDisplayAndItem[]; arrAllSheets3 = arrAllSheets1.Clone() as LstbxDisplayAndItem[]; arrAllSheets4 = arrAllSheets1.Clone() as LstbxDisplayAndItem[]; //设置各种列表框中的数据以及选择的项lstbxWorksheetsInProjectFileChanged frmProjectFile with_1 = this; //开挖平面工作表 CmbbxPlan.DataSource = arrAllSheets1; CmbbxPlan.ValueMember = cstValueMember; if (FileContents.Sheet_PlanView != null) { this.SheetToComboBox(CmbbxPlan, FileContents.Sheet_PlanView); } else { CmbbxPlan.SelectedValue = LstbxDisplayAndItem.NothingInListBox.None; } //测点坐标工作表 CmbbxPointCoordinates.DataSource = arrAllSheets2; CmbbxPointCoordinates.ValueMember = cstValueMember; if (FileContents.Sheet_PointCoordinates != null) { this.SheetToComboBox(CmbbxPointCoordinates, FileContents.Sheet_PointCoordinates); } else { CmbbxPointCoordinates.SelectedValue = LstbxDisplayAndItem.NothingInListBox.None; } //开挖剖面工作表 CmbbxSectional.DataSource = arrAllSheets3; CmbbxSectional.ValueMember = cstValueMember; if (FileContents.Sheet_Elevation != null) { this.SheetToComboBox(CmbbxSectional, FileContents.Sheet_Elevation); } else { CmbbxSectional.SelectedValue = LstbxDisplayAndItem.NothingInListBox.None; } //开挖工况工作表 CmbbxWorkingStage.DataSource = arrAllSheets4; CmbbxWorkingStage.ValueMember = cstValueMember; if (FileContents.Sheet_WorkingStage != null) { this.SheetToComboBox(CmbbxWorkingStage, FileContents.Sheet_WorkingStage); } else { CmbbxWorkingStage.SelectedValue = LstbxDisplayAndItem.NothingInListBox.None; } //为施工进度列表服务的组合列表框 if (CmbbxProgressWkbk.Items.Count == 0) { //工作簿中的工作表列表框 this.LstbxSheetsProgressInWkbk.DataSource = null; //上面将DataSource设置为Nothing会清空DisplayMember属性的值,那么下次再向列表框中添加成员时, //其DisplayMember就为Nothing了,所以必须在下面设置好其DisplayMember的值。 this.LstbxSheetsProgressInWkbk.DisplayMember = LstbxDisplayAndItem.DisplayMember; } else { CmbbxProgressWkbk.SelectedIndex = 0; } }
/// <summary> /// 设置监测数据的类型 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <remarks></remarks> public void ComboBox_MntType_SelectedValueChanged(object sender, EventArgs e) { LstbxDisplayAndItem item = (LstbxDisplayAndItem)this.ComboBox_MntType.SelectedItem; this.F_MonitorType = (MntType)item.Value; }