2022-08-23 21:12:59 +08:00

159 lines
5.5 KiB
C#

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();
}
}
/// <summary>
/// 新增加一个码表项
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
mappingObj.CodeTableItems.Add(new CodeTableItem());
CreateCodeTableControls();
}
/// <summary>
/// 建立码表控件组
/// </summary>
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);
}
}
/// <summary>
/// 删除一个码表项
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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;
//}
}
}
}
}