Exemplo n.º 1
0
        public LookupEditorForm(ZYTextBlock o)
        {
            InitializeComponent();

            labelName.Text = o.Text;
            if (o is ZYLookupEditor)
            {
                zy = (ZYLookupEditor)o;
            }
            //合理化窗口位置

            //编辑窗口的绝对位置
            Rectangle AbsolutEditorWinRect = o.OwnerDocument.OwnerControl.ClientRectangle;

            AbsolutEditorWinRect.Location = o.OwnerDocument.OwnerControl.PointToScreen(o.OwnerDocument.OwnerControl.ClientRectangle.Location);

            //弹出窗口绝对位置
            Rectangle AbsolutHelpWinRect = this.Bounds;

            AbsolutHelpWinRect.Location = Control.MousePosition;

            //计算合理位置
            //弹出窗口没有超出编辑窗口范围
            if (AbsolutEditorWinRect.Contains(AbsolutHelpWinRect))
            {
            }
            else
            {
                int x = 0;
                int y = 0;
                //调整水平位置
                if (AbsolutHelpWinRect.Right > AbsolutEditorWinRect.Right)
                {
                    x = AbsolutEditorWinRect.Right - AbsolutHelpWinRect.Right;
                }
                //调整垂直位置
                if (AbsolutHelpWinRect.Bottom > AbsolutEditorWinRect.Bottom)
                {
                    y = -AbsolutHelpWinRect.Height;
                }

                AbsolutHelpWinRect.Offset(x, y);
            }

            Debug.WriteLine("EditorWinAbsolutRect " + AbsolutHelpWinRect);
            this.Location = AbsolutHelpWinRect.Location;
        }
Exemplo n.º 2
0
        public FormatFrm(ZYTextBlock o)
        {
            InitializeComponent();
            //Point p = Control.MousePosition;
            //this.Location = p;
            num = o;
            string info = "";

            //合理化高度,使列表中不显示空白


            if (o is ZYFormatNumber)
            {
                this.textBox1.Visible        = true;
                this.dateTimePicker1.Visible = false;

                length   = ((ZYFormatNumber)o).Length;
                maxValue = ((ZYFormatNumber)o).MaxValue;
                minValue = ((ZYFormatNumber)o).MinValue;

                this.labelName.Text = ((ZYFormatNumber)o).Name.ToString();
                this.textBox1.Text  = ((ZYFormatNumber)o).Value.ToString();
                info =
                    "提示:长度" + ((ZYFormatNumber)num).Length + " 最大值" + ((ZYFormatNumber)num).MaxValue + " 最小值" + ((ZYFormatNumber)num).MinValue + " 小数位" + ((ZYFormatNumber)num).DecimalDigits;
                this.toolTip1.SetToolTip(this.textBox1, info);
            }

            if (o is ZYFormatDatetime)
            {
                this.textBox1.Visible             = false;
                this.dateTimePicker1.Visible      = true;
                this.labelName.Text               = ((ZYFormatDatetime)o).Name.ToString();
                this.dateTimePicker1.Format       = DateTimePickerFormat.Custom;
                this.dateTimePicker1.CustomFormat = ((ZYFormatDatetime)o).FormatString.ToString();
                this.dateTimePicker1.Value        = Convert.ToDateTime(((ZYFormatDatetime)o).Value);

                info = "提示:选择数字部分,上下箭头改变值,或用键盘输入";
                this.toolTip1.SetToolTip(this.dateTimePicker1, info);
            }

            if (o is ZYFormatString)
            {
                this.textBox1.Visible        = true;
                this.dateTimePicker1.Visible = false;
                this.labelName.Text          = ((ZYFormatString)o).Name.ToString();
                this.textBox1.Text           = ((ZYFormatString)o).Text;
                length = ((ZYFormatString)o).Length;
                info   = "提示:字符串最大长度 " + ((ZYFormatString)o).Length;;
                this.toolTip1.SetToolTip(this.textBox1, info);
            }

            if (o is ZYPromptText)
            {
                this.textBox1.Visible        = true;
                this.dateTimePicker1.Visible = false;
                this.textBox1.Multiline      = true;
                this.Height += this.textBox1.Height;

                this.Width = this.Width + this.Width / 2;

                this.textBox1.Height += this.textBox1.Height;


                this.labelName.Text = ((ZYPromptText)o).Name.ToString();
                this.textBox1.Text  = ((ZYPromptText)o).Text;

                info = "提示:" + ((ZYPromptText)o).Name;
                this.toolTip1.SetToolTip(this.textBox1, info);
            }


            //合理化窗口位置

            //编辑窗口的绝对位置
            Rectangle AbsolutEditorWinRect = o.OwnerDocument.OwnerControl.ClientRectangle;

            AbsolutEditorWinRect.Location = o.OwnerDocument.OwnerControl.PointToScreen(o.OwnerDocument.OwnerControl.ClientRectangle.Location);

            //弹出窗口绝对位置
            Rectangle AbsolutHelpWinRect = this.Bounds;

            AbsolutHelpWinRect.Location = Control.MousePosition;

            //计算合理位置
            //弹出窗口没有超出编辑窗口范围
            if (AbsolutEditorWinRect.Contains(AbsolutHelpWinRect))
            {
            }
            else
            {
                int x = 0;
                int y = 0;
                //调整水平位置
                if (AbsolutHelpWinRect.Right > AbsolutEditorWinRect.Right)
                {
                    x = AbsolutEditorWinRect.Right - AbsolutHelpWinRect.Right;
                }
                //调整垂直位置
                if (AbsolutHelpWinRect.Bottom > AbsolutEditorWinRect.Bottom)
                {
                    y = -AbsolutHelpWinRect.Height;
                }

                AbsolutHelpWinRect.Offset(x, y);
            }

            Debug.WriteLine("EditorWinAbsolutRect " + AbsolutHelpWinRect);
            this.Location = AbsolutHelpWinRect.Location;

            if (dateTimePicker1.CustomFormat == "yyyy年MM月")  //xll 2012-10-31 修改时年月格式是有时会报错的问题
            {
                dateTimePicker1.Value = dateTimePicker1.Value.Date.AddDays(1 - dateTimePicker1.Value.Day);
            }
        }
Exemplo n.º 3
0
 public FormatFrm(ZYTextBlock o, ZYSelectableElement sel, int start, int end) : this(o)
 {
     _sel   = sel;
     _start = start;
     _end   = end;
 }