private void pnl_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { this.p2 = new System.Drawing.Point(e.X, e.Y); var rec2 = PrintObjectHelper.CreateRectangle(p, p2); ControlPaint.DrawReversibleFrame(rec, Color.White, FrameStyle.Dashed); rec = pnl.RectangleToScreen(rec2); ControlPaint.DrawReversibleFrame(rec, Color.White, FrameStyle.Dashed); } }
void IDesign.ShowMenu(Point scrPoint) { var ts = PrintObjectHelper.GetTypes(SelectObjects.ToArray()); this.contextMenuStrip2.Items.Clear(); foreach (Type t in ts) { if (t == typeof(IChangeAreaAble)) { this.contextMenuStrip2.Items.Add("区域"); } else if (t == typeof(IColorable)) { this.contextMenuStrip2.Items.Add("颜色"); } else if (t == typeof(IContextable)) { this.contextMenuStrip2.Items.Add("文本内容"); } else if (t == typeof(IContextAlignAble)) { this.contextMenuStrip2.Items.Add("文本对齐"); } else if (t == typeof(IDeleteable)) { this.contextMenuStrip2.Items.Add("删除"); } else if (t == typeof(IFontable)) { this.contextMenuStrip2.Items.Add("字体"); } else if (t == typeof(IBorderable)) { this.contextMenuStrip2.Items.Add("边框"); } else if (t == typeof(IFormatable)) { this.contextMenuStrip2.Items.Add("格式化"); } else if (t == typeof(IImageAble)) { this.contextMenuStrip2.Items.Add("导入图片"); this.contextMenuStrip2.Items.Add("导出图片"); } else if (t == typeof(IFieldAble)) { this.contextMenuStrip2.Items.Add("改字段"); } else if (t == typeof(ISizeable)) { this.contextMenuStrip2.Items.Add("左对齐"); this.contextMenuStrip2.Items.Add("右对齐"); this.contextMenuStrip2.Items.Add("上对齐"); this.contextMenuStrip2.Items.Add("下对齐"); } else if (t == typeof(IGridable)) { this.contextMenuStrip2.Items.Add("表格内容"); this.contextMenuStrip2.Items.Add("表格格式"); } else if (t == typeof(IPrintObject)) { this.contextMenuStrip2.Items.Add("属性"); } } // var p = pnl.PointToClient(scrPoint); this.contextMenuStrip2.Show(pnl, p.X, p.Y); }
private void pnl_MouseUp(object sender, MouseEventArgs e) { // if (e.Button == MouseButtons.Right) { this.contextMenuStrip1.Items.Clear(); this.contextMenuStrip1.Items.Add("保存"); this.contextMenuStrip1.Items.Add("页面"); this.contextMenuStrip1.Items.Add("背景"); this.contextMenuStrip1.Items.Add("撤销"); this.contextMenuStrip1.Items.Add("重做"); this.contextMenuStrip1.Items.Add("-"); ToolStripMenuItem menu = new ToolStripMenuItem(); menu.Text = "数据"; this.contextMenuStrip1.Items.Add(menu); foreach (System.Data.DataColumn col in tbmain.Columns) { ToolStripMenuItem menu2 = new ToolStripMenuItem(); menu2.Text = col.ColumnName; menu2.Click += this.menuFieldClick; menu.DropDownItems.Add(menu2); } this.contextMenuStrip1.Items.Add("文本"); this.contextMenuStrip1.Items.Add("表格"); this.contextMenuStrip1.Items.Add("竖线"); this.contextMenuStrip1.Items.Add("横线"); this.contextMenuStrip1.Items.Add("图片"); this.contextMenuStrip1.Items.Add("页码"); this.contextMenuStrip1.Items.Add("时间"); this.contextMenuStrip1.Tag = pnl; this.contextMenuStrip1.Show(pnl, e.X, e.Y); } else if (e.Button == MouseButtons.Left) { ControlPaint.DrawReversibleFrame(rec, Color.White, FrameStyle.Dashed); rec = new Rectangle(0, 0, 0, 0); // if (System.Windows.Forms.Control.ModifierKeys != Keys.Control) { foreach (Control con in pnl.Controls) { IPrintObject ins = (IPrintObject)con; ins.Selected = false; } } var rec2 = PrintObjectHelper.CreateRectangle(p, p2); foreach (Control con in pnl.Controls) { var rec3 = new Rectangle(con.Left, con.Top, con.Width, con.Height); if (PrintObjectHelper.RectangleInRectangle(rec3, rec2) == true) { IPrintObject ins = (IPrintObject)con; ins.Selected = true; } } if (SelectObjects.Count == 0) { _fistSelectObject = null; } } }