private void PictureBox1_MouseUp(object sender, MouseEventArgs e)
        {
            blnDraw = false; //结束绘制
            end     = e.Location;
            var draw = new DrawControl {
                DrawType = CurrDrawType, Pen = (Pen)CurrPen.Clone(), FillColor = btnColor.BackColor
            };

            switch (CurrDrawType)
            {
            case DrawType.Line:
            case DrawType.LineCap:
            case DrawType.Curve:
                draw.Start = start;
                draw.End   = end;
                break;

            case DrawType.LeftText:
            case DrawType.RightText:
                return;

            default:
                draw.Rect = rect;
                break;
            }
            Rectangles.Add(draw);
            rect.Width = rect.Height = 0;
        }
Exemple #2
0
        public GUI(gameInterfaceFunc start, gameInterfaceFunc pause, gameInterfaceFunc reset, gameInterfaceFunc save, gameInterfaceFunc load)
        {
            InitializeComponent();

            // Delegate functions from Game, called when different buttons are pressed.
            startGameFunc = start;
            pauseGameFunc = pause;
            resetGameFunc = reset;
            saveGameFunc  = save;
            loadGameFunc  = load;

            // Custom control for drawing the chess board
            // Use a lambda expression that allows access to selectedMove.
            drawControl = new DrawControl(() => { return(selectedMove); });
        }
Exemple #3
0
        public GUI(gameInterfaceFunc start, gameInterfaceFunc pause, gameInterfaceFunc reset, gameInterfaceFunc save, gameInterfaceFunc load)
        {
            InitializeComponent();

            // Delegate functions from Game, called when different buttons are pressed.
            startGameFunc = start;
            pauseGameFunc = pause;
            resetGameFunc = reset;
            saveGameFunc = save;
            loadGameFunc = load;

            // Custom control for drawing the chess board
            // Use a lambda expression that allows access to selectedMove.
            drawControl = new DrawControl( () => { return selectedMove; });
        }
Exemple #4
0
        private void chkLoginRegistration_CheckedChanged(object sender, EventArgs e)
        {
            // Stop drawing login table
            DrawControl.SuspendDrawing(tabLogin);

            if (chkLoginRegistration.Checked)
            {
                foreach (RowStyle style in tableLayoutLoginDetails.RowStyles)
                {
                    style.Height = 20;
                }

                tableLayoutDisplayName.Height = 50;
                tableLayoutPassword2.Height   = 50;

                tableLayoutDisplayName.Enabled = true;
                tableLayoutPassword2.Enabled   = true;

                tableLayoutUsername.TabIndex    = 1;
                tableLayoutDisplayName.TabIndex = 2;
                tableLayoutPassword.TabIndex    = 3;
                tableLayoutPassword2.TabIndex   = 4;

                groupBoxLogin.Text = "Registration";
                btnLogin.Text      = "Register";

                btnLogin.Image = Properties.Resources.plus_32;
            }
            else
            {
                tableLayoutLoginDetails.RowStyles[1].Height = 0;
                tableLayoutLoginDetails.RowStyles[3].Height = 0;

                tableLayoutDisplayName.Enabled = false;
                tableLayoutPassword2.Enabled   = false;

                groupBoxLogin.Text = "Login";
                btnLogin.Text      = "Login";

                btnLogin.Image = Properties.Resources.key_32;
            }

            // Draw login table
            DrawControl.ResumeDrawing(tabLogin);
            Utilities.centerControl(tableLayoutLoginMain);
        }
        private void Draw(Graphics g, DrawControl draw)
        {
            switch (draw.DrawType)
            {
            case DrawType.Rectangle:
                g.DrawRectangle(draw.Pen, draw.Rect);
                break;

            case DrawType.FillRectangle:
                g.DrawRectangle(draw.Pen, draw.Rect);
                g.FillRectangle(new SolidBrush(draw.FillColor), draw.Rect);
                break;

            case DrawType.Line:
                g.DrawLine(draw.Pen, draw.Start, draw.End);
                break;

            case DrawType.LineCap:
                var pen = (Pen)draw.Pen.Clone();
                AdjustableArrowCap aac = new AdjustableArrowCap(5, 3);
                pen.CustomEndCap = aac;
                g.DrawLine(pen, draw.Start, draw.End);
                break;

            case DrawType.Ellipse:
                g.DrawEllipse(draw.Pen, draw.Rect);
                break;

            case DrawType.FillEllips:
                g.DrawEllipse(draw.Pen, draw.Rect);
                g.FillEllipse(new SolidBrush(draw.FillColor), draw.Rect);
                break;

            case DrawType.LeftText:
                g.DrawString(draw.Text, font, new SolidBrush(draw.Pen.Color), new PointF(draw.Start.X, draw.Start.Y));
                break;

            case DrawType.RightText:
                StringFormat format = new StringFormat(StringFormatFlags.DirectionRightToLeft);
                g.DrawString(draw.Text, font, new SolidBrush(draw.Pen.Color), new PointF(draw.Start.X, draw.Start.Y), format);
                break;
            }
        }
 private void PictureBox1_MouseDown(object sender, MouseEventArgs e)
 {
     start = e.Location;
     pictureBox1.Invalidate();
     Invalidate();
     blnDraw = true;
     isDraw  = true;
     if (CurrDrawType == DrawType.LeftText || CurrDrawType == DrawType.RightText)
     {
         var draw = new DrawControl {
             DrawType = CurrDrawType, Pen = (Pen)CurrPen.Clone(), FillColor = btnColor.BackColor
         };
         switch (CurrDrawType)
         {
         case DrawType.LeftText:
         case DrawType.RightText:
             draw.Start = start;
             break;
         }
         Rectangles.Add(draw);
         currentyIndex = Rectangles.Count - 1;
     }
 }
        private void Draw(Graphics g, DrawControl draw)
        {
            switch (draw.DrawType)
            {
            case DrawType.Rectangle:
                g.DrawRectangle(draw.Pen, draw.Rect);
                break;

            case DrawType.FillRectangle:
                g.DrawRectangle(draw.Pen, draw.Rect);
                g.FillRectangle(new SolidBrush(draw.FillColor), draw.Rect);
                break;

            case DrawType.Line:
                g.DrawLine(draw.Pen, draw.Start, draw.End);
                break;

            case DrawType.LineCap:
                var pen = (Pen)draw.Pen.Clone();
                pen.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;
                g.DrawLine(pen, draw.Start, draw.End);
                break;

            case DrawType.Ellipse:
                g.DrawEllipse(draw.Pen, draw.Rect);
                break;

            case DrawType.FillEllips:
                g.DrawEllipse(draw.Pen, draw.Rect);
                g.FillEllipse(new SolidBrush(draw.FillColor), draw.Rect);
                break;

            case DrawType.LeftText:
                g.DrawString(draw.Text, font, new SolidBrush(draw.Pen.Color), new PointF(draw.Start.X, draw.Start.Y));
                break;
            }
        }