float fDpiY; //记录垂直分辨率 public void InitTemplate(string strBillTypeCode) //动态创建文本输入框 { //定义获取指定单据编号信息的SQL语句 string strSql = "Select * From tb_BillTemplate Where BillTypeCode = '" + strBillTypeCode + "'"; try { //将获取到的信息存储到DataTable中 DataTable dt = dataOper.GetDataTable(strSql, "tb_BillTemplate"); foreach (DataRow dr in dt.Rows) //遍历所有行 { ctxt = new CTextBox(); //实例化自定义控件对象 ctxt.IsFlag = dr["IsFlag"].ToString(); //是否为对应控件 ctxt.Text = dr["ControlName"].ToString(); //设置控件名称 ctxt.ControlId = Convert.ToInt32(dr["ControlId"]); //设置控件ID ctxt.FormParent = this; //设置控件所属窗体 ctxt.DefaultValue = dr["DefaultValue"].ToString(); //设置控件默认值 ctxt.ControlName = dr["ControlName"].ToString(); //设置控件默认名称 ctxt.TurnControlName = dr["TurnControlName"].ToString(); //设置控件转换后的名称 //设置控件位置 ctxt.Location = new Point(Convert.ToInt32(dr["X"]), Convert.ToInt32(dr["Y"])); ctxt.Size = new Size(Convert.ToInt32(dr["Width"]), Convert.ToInt32(dr["Height"])); //设置控件大小 ctxt.ReadOnly = true; //设置控件只读 this.Controls.Add(ctxt); //将控件添加到当前窗体中 } } catch (Exception ex) { MessageBox.Show(ex.Message, "软件提示"); } }
private void FormSetProperty_Load(object sender, EventArgs e) { formSetTemplate = (FormSetTemplate)this.Owner; if (this.Tag.GetType() == typeof(CTextBox)) { ctxtCur = this.Tag as CTextBox; txtDefaultValue.Visible = true; txtControlName.Text = ctxtCur.ControlName; txtDefaultValue.Text = ctxtCur.DefaultValue; //设置光标跳转的数据源 cbxTurnControlName.DataSource = GetCTextBoxes(formSetTemplate); cbxTurnControlName.DisplayMember = "ControlName"; cbxTurnControlName.ValueMember = "ControlName"; //若光标跳转不为空 if (!String.IsNullOrEmpty(ctxtCur.TurnControlName)) { cbxTurnControlName.SelectedValue = ctxtCur.TurnControlName; } else //若光标跳转转向为空 { cbxTurnControlName.SelectedIndex = -1; } chbIsFlag.Checked = cc.GetCheckedValue(ctxtCur.IsFlag); } }
static public CTextBox BuildCTextBox(Control parent) { while (model.allControls.Exists(l => l.cd.Name == "CTextBox" + CTextBox.count)) { CTextBox.count++; } CTextBox c = new CTextBox(); parent.Controls.Add(c); SetCommonHandlers(c); SetChangesHandler(c); c.MouseDown += ch.CTextBox_RightClick; c.TextChanged += ch.TextChanged; c.TextChanged += ReadRelationManager.ReadRelationUpdate; Model.getInstance().allControls.Add(c); c.SetControlDescription(); c.cd.RealText = c.cd.Text; c.AllowDrop = false; model.logCreator.Append("+ Added: " + c.cd.Name); return(c); }
public void InitTemplate(string strBillTypeCode) { string strSql = "Select * From tb_BillTemplate Where BillTypeCode = '" + strBillTypeCode + "'"; try { DataTable dt = dataOper.GetDataTable(strSql, "tb_BillTemplate"); foreach (DataRow dr in dt.Rows) { ctxt = new CTextBox(); ctxt.ContextMenuStrip = null; ctxt.IsFlag = dr["IsFlag"].ToString(); ctxt.ControlId = Convert.ToInt32(dr["ControlId"]); ctxt.Location = new Point(Convert.ToInt32(dr["X"]), Convert.ToInt32(dr["Y"])); ctxt.Size = new Size(Convert.ToInt32(dr["Width"]), Convert.ToInt32(dr["Height"])); ctxt.ControlName = dr["ControlName"].ToString(); if (ctxt.IsFlag == "1") //若是单据号码对应的控件 { ctxtExpressBillCode = ctxt; //得到表示快递单号的CTextBox ctxt.Font = new Font(new FontFamily("宋体"), 9, FontStyle.Bold); ctxt.MaxLength = Convert.ToInt32(dtBillType.Rows[0]["BillCodeLength"]); } this.panelBillPictrue.Controls.Add(this.ctxt); } this.panelBillPictrue.Controls.Add(this.pbxBillPicture); } catch (Exception ex) { MessageBox.Show(ex.Message, "软件提示"); } }
public void InitTemplate(string strBillTypeCode) { string strSql = "Select * From tb_BillTemplate Where BillTypeCode = '" + strBillTypeCode + "'"; try { DataTable dt = dataOper.GetDataTable(strSql, "tb_BillTemplate"); foreach (DataRow dr in dt.Rows) { ctxt = new CTextBox(); ctxt.IsFlag = dr["IsFlag"].ToString(); ctxt.Text = dr["ControlName"].ToString(); ctxt.ControlId = Convert.ToInt32(dr["ControlId"]); ctxt.FormParent = this; ctxt.DefaultValue = dr["DefaultValue"].ToString(); ctxt.ControlName = dr["ControlName"].ToString(); ctxt.TurnControlName = dr["TurnControlName"].ToString(); ctxt.Location = new Point(Convert.ToInt32(dr["X"]), Convert.ToInt32(dr["Y"])); ctxt.Size = new Size(Convert.ToInt32(dr["Width"]), Convert.ToInt32(dr["Height"])); ctxt.ReadOnly = true; this.Controls.Add(ctxt); } } catch (Exception ex) { MessageBox.Show(ex.Message, "软件提示"); } }
private void BTextBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { CTextBox.Focus(); } }
public void ShowDialogForm(Type typeForm, CTextBox ctx, Form formParent) { Form form = Activator.CreateInstance(typeForm) as Form; form.Tag = ctx; form.Owner = formParent; form.StartPosition = FormStartPosition.CenterParent; form.ShowDialog(); }
private void toolAddCTextBox_Click(object sender, EventArgs e) { ctxt = new CTextBox(); //实例化CTextBox对象 ctxt.IsFlag = "0"; //系统默认不为单据编号对应的输入框 ctxt.ControlId = 0; //系统默认的控件编号为零 ctxt.FormParent = this; //设置父窗体 //设置文本输入框的位置 ctxt.Location = new Point(MousePosition.X - offset.X, MousePosition.Y - offset.Y); ctxt.ReadOnly = true; //设置文本输入框为只读 ctxt.BackColor = Color.Red; //设置文本输入框的背景颜色为红色 this.Controls.Add(ctxt); //向窗体中添加新的文本输入框 ctxt.Focus(); //设置新的文本输入框获取光标 ctxt.SelectAll(); //设置新的文本输入框选择全部文本 }
private void toolAddCTextBox_Click(object sender, EventArgs e) { ctxt = new CTextBox(); ctxt.IsFlag = "0"; //系统默认不为单据编号对应的输入框 ctxt.ControlId = 0; //系统默认的控件编号为零 //ctxt.Text = "请输入名称"; ctxt.FormParent = this; ctxt.Location = new Point(MousePosition.X - offset.X, MousePosition.Y - offset.Y); ctxt.ReadOnly = true; ctxt.BackColor = Color.Red; this.Controls.Add(ctxt); //---选择默认的文本 ctxt.Focus(); ctxt.SelectAll(); }
public void InitTemplate(DataTable dt) { List <CTextBox> ctxts = new List <CTextBox>(); //创建CTextBox组件集合 DisposeAllCTextBoxes(this); //移除当前窗体中的所有CTextBox foreach (DataRow dr in dt.Rows) //遍历数据源中的所有行 { ctxt = new CTextBox(); //实例化自定义控件对象 ctxt.ContextMenuStrip = null; //设置快捷菜单为空 ctxt.ControlId = Convert.ToInt32(dr["ControlId"]); //设置控件ID ctxt.IsFlag = dr["IsFlag"].ToString(); //是否为对应控件 //设置控件位置 ctxt.Location = new Point(Convert.ToInt32(dr["X"]), Convert.ToInt32(dr["Y"])); //设置控件大小 ctxt.Size = new Size(Convert.ToInt32(dr["Width"]), Convert.ToInt32(dr["Height"])); ctxt.ControlName = dr["ControlName"].ToString(); //设置控件默认名称 ctxt.DefaultValue = dr["DefaultValue"].ToString(); //设置控件默认值 ctxt.Text = ctxt.DefaultValue; //设置快递单标题 ctxt.TurnControlName = dr["TurnControlName"].ToString(); //设置控件转换后的名称 if (ctxt.IsFlag == "1") //若是单据号码对应的控件 { ctxtExpressBillCode = ctxt; //得到表示快递单号的CTextBox ctxt.Font = new Font(new FontFamily("宋体"), 9, FontStyle.Bold); //设置控件的字体 //设置控件的最大长度 ctxt.MaxLength = Convert.ToInt32(dtBillType.Rows[0]["BillCodeLength"]); //设置控件中的数据 ctxt.Text = cc.BuildCode("tb_BillText", "Where ControlId = '" + ctxt.ControlId + "'", "ExpressBillCode", "", ctxt.MaxLength); } //为控件添加KeyDown事件 this.ctxt.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ctxt_KeyDown); //将控件添加到splitContainer1容器中 this.splitContainer1.Panel1.Controls.Add(this.ctxt); ctxts.Add(ctxt);//将控件添加到集合中 } //将图片添加到splitContainer1容器中 this.splitContainer1.Panel1.Controls.Add(this.pbxBillPicture); //判断控件集合中的是否有可用控件 if (ctxts.Where <CTextBox>(itm => itm.IsFlag == "1").Count <CTextBox>() == 0) { toolPrint.Enabled = false;//设置打印按钮不可用 MessageBox.Show("当前模板未设置快递单号输入框,所以无法打印", "信息提示"); } else { toolPrint.Enabled = true;//设置打印按钮可用 } }
public void InitText(string strBillTypeCode, string strExpressBillCode) { string strSql = "Select * From tb_BillText Where BillTypeCode = '" + strBillTypeCode + "' and ExpressBillCode = '" + strExpressBillCode + "'"; try { DataTable dt = dataOper.GetDataTable(strSql, "tb_BillText"); List <CTextBox> ctxts = GetCTextBoxes(this.panelBillPictrue); foreach (DataRow dr in dt.Rows) { CTextBox ctxtTemp = ctxts.Find(number => number.ControlId == Convert.ToInt32(dr["ControlId"])); ctxtTemp.Text = dr["ControlText"].ToString(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "软件提示"); } }
float fDpiY; //记录垂直分辨率 public void InitTemplate(string strBillTypeCode) { //定义根据编号获取模板的SQL语句 string strSql = "Select * From tb_BillTemplate Where BillTypeCode = '" + strBillTypeCode + "'"; try { //获取模板信息 DataTable dt = dataOper.GetDataTable(strSql, "tb_BillTemplate"); foreach (DataRow dr in dt.Rows) //遍历获取到的所有行 { ctxt = new CTextBox(); //实例化自定义控件对象 ctxt.ContextMenuStrip = null; //设置快捷菜单为空 ctxt.IsFlag = dr["IsFlag"].ToString(); //是否为对应控件 ctxt.ControlId = Convert.ToInt32(dr["ControlId"]); //设置控件ID //设置控件位置 ctxt.Location = new Point(Convert.ToInt32(dr["X"]), Convert.ToInt32(dr["Y"])); //设置控件大小 ctxt.Size = new Size(Convert.ToInt32(dr["Width"]), Convert.ToInt32(dr["Height"])); ctxt.ControlName = dr["ControlName"].ToString(); //设置控件默认名称 if (ctxt.IsFlag == "1") //若是单据号码对应的控件 { ctxtExpressBillCode = ctxt; //得到表示快递单号的CTextBox //设置控件的字体 ctxt.Font = new Font(new FontFamily("宋体"), 9, FontStyle.Bold); //设置控件的最大长度 ctxt.MaxLength = Convert.ToInt32(dtBillType.Rows[0]["BillCodeLength"]); } this.panelBillPicture.Controls.Add(this.ctxt);//将控件添加到Panel容器中 } //将图片添加到Panel容器中 this.panelBillPicture.Controls.Add(this.pbxBillPicture); } catch (Exception ex) { MessageBox.Show(ex.Message, "软件提示"); } }
public void InitTemplate(DataTable dt) { List <CTextBox> ctxts = new List <CTextBox>(); DisposeAllCTextBoxes(this); foreach (DataRow dr in dt.Rows) { ctxt = new CTextBox(); ctxt.ContextMenuStrip = null; ctxt.ControlId = Convert.ToInt32(dr["ControlId"]); ctxt.IsFlag = dr["IsFlag"].ToString(); ctxt.Location = new Point(Convert.ToInt32(dr["X"]), Convert.ToInt32(dr["Y"])); ctxt.Size = new Size(Convert.ToInt32(dr["Width"]), Convert.ToInt32(dr["Height"])); ctxt.ControlName = dr["ControlName"].ToString(); ctxt.DefaultValue = dr["DefaultValue"].ToString(); ctxt.Text = ctxt.DefaultValue; ctxt.TurnControlName = dr["TurnControlName"].ToString(); if (ctxt.IsFlag == "1") //若是单据号码对应的控件 { ctxtExpressBillCode = ctxt; //得到表示快递单号的CTextBox ctxt.Font = new Font(new FontFamily("宋体"), 9, FontStyle.Bold); ctxt.MaxLength = Convert.ToInt32(dtBillType.Rows[0]["BillCodeLength"]); ctxt.Text = cc.BuildCode("tb_BillText", "Where ControlId = '" + ctxt.ControlId + "'", "ExpressBillCode", "", ctxt.MaxLength); } this.ctxt.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ctxt_KeyDown); this.splitContainer1.Panel1.Controls.Add(this.ctxt); ctxts.Add(ctxt); } this.splitContainer1.Panel1.Controls.Add(this.pbxBillPicture); if (ctxts.Where <CTextBox>(itm => itm.IsFlag == "1").Count <CTextBox>() == 0) { toolPrint.Enabled = false; MessageBox.Show("当前模板未设置快递单号输入框,所以无法打印", "信息提示"); } else { toolPrint.Enabled = true; } }
private void ctxt_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { CTextBox ctxtTurnCtrl = null; CTextBox ctxtCurCtrl = null; List <CTextBox> ctxts = GetCTextBoxes(this.splitContainer1.Panel1); foreach (CTextBox ctxt in ctxts) { if (ctxt.Focused) { ctxtCurCtrl = ctxt; break; } } ctxtTurnCtrl = ctxts.Find(number => number.ControlName == ctxtCurCtrl.TurnControlName); if (ctxtTurnCtrl != null) { ctxtTurnCtrl.Focus(); } } }
private void ctxt_KeyDown(object sender, KeyEventArgs e) //CTextBox的KeyDown事件 { if (e.KeyCode == Keys.Enter) //判断是否按下回车键 { CTextBox ctxtTurnCtrl = null; //创建转换后的CTextBox对象 CTextBox ctxtCurCtrl = null; //创建当前编辑的CTextBox对象 //获取splitContainer1.Panel1中的所有CTextBox对象 List <CTextBox> ctxts = GetCTextBoxes(this.splitContainer1.Panel1); foreach (CTextBox ctxt in ctxts) //遍历CTextBox集合 { if (ctxt.Focused) //如果CTextBox有鼠标焦点 { ctxtCurCtrl = ctxt; //为当前编辑的CTextBox对象赋值 break; } } //为确定的CTextBox对象赋值 ctxtTurnCtrl = ctxts.Find(number => number.ControlName == ctxtCurCtrl.TurnControlName); if (ctxtTurnCtrl != null) //判断转换后确定的CTextBox对象是否为空 { ctxtTurnCtrl.Focus(); //为其设置焦点 } } }
public void InitText(string strBillTypeCode, string strExpressBillCode)//初始化文本框组件 { //定义根据单据类型编号获取快递单历史信息的SQL语句 string strSql = "Select * From tb_BillText Where BillTypeCode = '" + strBillTypeCode + "' and ExpressBillCode = '" + strExpressBillCode + "'"; try { //将获取的快递单信息存储到DataTable中 DataTable dt = dataOper.GetDataTable(strSql, "tb_BillText"); //获取容器中的所有CTextBox组件 List <CTextBox> ctxts = GetCTextBoxes(this.panelBillPicture); foreach (DataRow dr in dt.Rows)//遍历所有行 { //根据编号获取CTextBox CTextBox ctxtTemp = ctxts.Find(number => number.ControlId == Convert.ToInt32(dr["ControlId"])); ctxtTemp.Text = dr["ControlText"].ToString();//设置CTextBox的Text值 } } catch (Exception ex) { MessageBox.Show(ex.Message, "软件提示"); } }
private void CreatePreviewControls(Section s, XElement i) { if (s == null) { return; } if (i == null) { return; } switch (i.Attribute("type").Value) { case "CLabel": CLabel lbl = ControlFactory.BuildCLabel(s.Tab); lbl.cd.Name = i.Element("Name").Value; break; case "CComboBox": CComboBox cb = ControlFactory.BuildCComboBox(s.Tab); cb.cd.Name = i.Element("Name").Value; break; case "CButton": CButton b = ControlFactory.BuildCButton(s.Tab); b.cd.Name = i.Element("Name").Value; break; case "CGroupBox": CGroupBox gb = ControlFactory.BuildCGroupBox(s.Tab); gb.cd.Name = i.Element("Name").Value; break; case "CPanel": CPanel pl = ControlFactory.BuildCPanel(s.Tab); pl.cd.Name = i.Element("Name").Value; break; case "CBitmap": CBitmap bm = ControlFactory.BuildCBitmap(s.Tab); bm.cd.Name = i.Element("Name").Value; break; case "CTextBox": CTextBox tb = ControlFactory.BuildCTextBox(s.Tab); tb.cd.Name = i.Element("Name").Value; break; case "CCheckBox": CCheckBox ccb = ControlFactory.BuildCCheckBox(s.Tab); ccb.cd.Name = i.Element("Name").Value; break; case "CTabControl": CTabControl ctc = ControlFactory.BuildCTabControl(s.Tab); ctc.cd.Name = i.Element("Name").Value; break; case "CTabPage": //Tab pages require its parent TabControl to be created first. break; } }
private void TextChanged(object sender, TextChangedEventArgs e) { CTextBox.CaretIndex = CTextBox.Text.Length; CTextBox.ScrollToEnd(); }