Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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;
                }
            }
        }