Example #1
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;
                }
            }
        }