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; }
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); } }
public FormatFrm(ZYTextBlock o, ZYSelectableElement sel, int start, int end) : this(o) { _sel = sel; _start = start; _end = end; }