Exemplo n.º 1
0
        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, "软件提示");
            }
        }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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, "软件提示");
            }
        }
Exemplo n.º 5
0
        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, "软件提示");
            }
        }
Exemplo n.º 6
0
 private void BTextBox_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Enter)
     {
         CTextBox.Focus();
     }
 }
Exemplo n.º 7
0
        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();
        }
Exemplo n.º 8
0
 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();                 //设置新的文本输入框选择全部文本
 }
Exemplo n.º 9
0
 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;//设置打印按钮可用
            }
        }
Exemplo n.º 11
0
        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, "软件提示");
            }
        }
Exemplo n.º 13
0
        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;
            }
        }
Exemplo n.º 14
0
 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, "软件提示");
            }
        }
Exemplo n.º 17
0
        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;
            }
        }
Exemplo n.º 18
0
 private void TextChanged(object sender, TextChangedEventArgs e)
 {
     CTextBox.CaretIndex = CTextBox.Text.Length;
     CTextBox.ScrollToEnd();
 }