using DrawGraph; using System; using System.Windows.Forms; namespace DrawGraphManagement.MyUserControl { public partial class ConvertModeForm : Form { PackObjBase mappingObj = null; Control conl = null; public ConvertModeForm() { InitializeComponent(); } public ConvertModeForm(PackObjBase _mappingObj,Control _conl) { InitializeComponent(); mappingObj = _mappingObj; conl = _conl; } private void ConvertModeForm_Load(object sender, EventArgs e) { if (mappingObj == null) { MessageBox.Show("没有详细的映射对象"); this.Close(); return; } //转换模式的绑定 this.cmbConvertMode.SelectedIndexChanged -= new System.EventHandler(this.cmbConvertMode_SelectedIndexChanged); cmbConvertMode.DataSource = System.Enum.GetNames(typeof(EConvertMode)); cmbConvertMode.Text = mappingObj.ConvertMode.ToString(); labTitle.Text = mappingObj.Descript; this.cmbConvertMode.SelectedIndexChanged += new System.EventHandler(this.cmbConvertMode_SelectedIndexChanged); cmbConvertMode_SelectedIndexChanged(null, null); ///rihCodes.DataBindings.Add("text",mappingObj, "CodeConvertText"); } private void cmbConvertMode_SelectedIndexChanged(object sender, EventArgs e) { string convertValue = cmbConvertMode.Text.Trim(); if (convertValue == "") { return; } mappingObj.ConvertMode = (convertValue == EConvertMode.NoConvert.ToString())? EConvertMode.NoConvert :EConvertMode.NoConvert; foreach (Control conl in tabControl1.Controls) { conl.Enabled = false; } if (convertValue != "") { Control[] conls = tabControl1.Controls.Find("tab" + convertValue, false); if(conls.Length > 0){ conls[0].Enabled = true; tabControl1.SelectedTab = conls[0] as TabPage; } //更新码表控件组 CreateCodeTableControls(); } } /// /// 新增加一个码表项 /// /// /// private void button1_Click(object sender, EventArgs e) { mappingObj.CodeTableItems.Add(new CodeTableItem()); CreateCodeTableControls(); } /// /// 建立码表控件组 /// private void CreateCodeTableControls() { pnlCodeTable.Controls.Clear(); for (int i = 0; i < mappingObj.CodeTableItems.Count; i++) { CodeTableItem item = mappingObj.CodeTableItems[i]; //增加列名 TextBox txb = new TextBox(); txb.AutoSize = true; int y = 26 * i + 10; txb.Location = new System.Drawing.Point(labSrcCodeTableVal.Location.X, y); txb.Size = new System.Drawing.Size(113, 21); txb.TabIndex = 0; txb.BringToFront(); txb.DataBindings.Add("text", item,"SrcVal"); pnlCodeTable.Controls.Add(txb); //增加列描述 txb = new TextBox(); txb.AutoSize = true; txb.Location = new System.Drawing.Point(labDescCodeTableVal.Location.X, y); txb.Size = new System.Drawing.Size(113, 21); txb.TabIndex = 0; txb.DataBindings.Add("text", item, "DescVal"); txb.BringToFront(); pnlCodeTable.Controls.Add(txb); //增加操作按钮 Button btn = new Button(); btn.Location = new System.Drawing.Point(labCZ.Location.X, y); btn.Size = new System.Drawing.Size(75, 20); btn.TabIndex = 29; btn.Text = "删除"; btn.UseVisualStyleBackColor = true; btn.Tag = item; btn.Click += new System.EventHandler(btnDel_Click); btn.BringToFront(); pnlCodeTable.Controls.Add(btn); } } /// /// 删除一个码表项 /// /// /// private void btnDel_Click(object sender, EventArgs e) { //查询一条记录下的一个字段的值 Button btn = sender as Button; if (btn != null) { CodeTableItem item = btn.Tag as CodeTableItem; mappingObj.CodeTableItems.Remove(item); } CreateCodeTableControls(); } private void button2_Click(object sender, EventArgs e) { //CodeMaintenanceForm form = new CodeMaintenanceForm(); //form.ShowDialog(); } private void ConvertModeForm_FormClosing(object sender, FormClosingEventArgs e) { if (conl != null) { //if (mappingObj.ConvertMode != ConvertModeEnum.NoConvert.ToString()) //{ // conl.ForeColor = Color.Red; //} //else { // conl.ForeColor = Color.Black; //} } } } }