Graphics.DrawLine(Pen,Point point1, Point point2) : Graphics « System.Drawing « C# / C Sharp by API






Graphics.DrawLine(Pen,Point point1, Point point2)

   

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

public class frmScribble : System.Windows.Forms.Form {
    private System.ComponentModel.Container components = null;
    private bool mouseDown = false;
    private Point lastPoint = Point.Empty;
    private string color = "black";
    private Graphics g;
    private Pen p;

    public frmScribble() {
        g = CreateGraphics();
        p = new Pen(Color.FromName(color));

    }
    protected override void OnMouseDown(MouseEventArgs e) {
        mouseDown = true;
        if (e.Button == MouseButtons.Right) {
            ContextMenu m = new ContextMenu();
            m.MenuItems.Add(0, new MenuItem("black", new EventHandler(RightMouseButton_Click)));
            m.MenuItems.Add(1, new MenuItem("white", new EventHandler(RightMouseButton_Click)));
            m.MenuItems.Add(2, new MenuItem("red", new EventHandler(RightMouseButton_Click)));
            m.MenuItems.Add(3, new MenuItem("green", new EventHandler(RightMouseButton_Click)));
            m.MenuItems.Add(4, new MenuItem("blue", new EventHandler(RightMouseButton_Click)));
            m.Show(this, new Point(e.X, e.Y));
        }
    }

    protected void RightMouseButton_Click(object sender, EventArgs e) {
        color = ((MenuItem)sender).Text;
        p = new Pen(Color.FromName(color));
    }

    protected override void OnMouseUp(MouseEventArgs e) {
        mouseDown = false;
    }

    protected override void OnMouseMove(MouseEventArgs e) {
        if (lastPoint.Equals(Point.Empty)) lastPoint = new Point(e.X, e.Y);
        if (mouseDown) {
            Point pMousePos = new Point(e.X, e.Y);
            g.DrawLine(p, pMousePos, lastPoint);
        }
        lastPoint = new Point(e.X, e.Y);
    }

    [STAThread]
    static void Main() {
        Application.Run(new frmScribble());
    }
}

   
    
    
  








Related examples in the same category

1.Graphics.Clear
2.Graphics.CopyFromScreen
3.Graphics.DashCap
4.Graphics.Dispose()
5.Graphics.DpiX
6.Graphics.DpiY
7.Graphics.DrawArc
8.Graphics.DrawBeziers
9.Graphics.DrawEllipse
10.Graphics.DrawIcon(Icon icon, int x, int y)
11.Graphics.DrawImage(Image i, int x, int y);
12.Graphics.DrawImage(Image img, int x, int y, int width, int height)
13.Graphics.DrawImage(im, rec, recPart, GraphicsUnit.Pixel)
14.Graphics.DrawImage(Image, Points[])
15.Graphics.DrawLine(Pen p, int x0,int y0, int x1, int y1)
16.Graphics.DrawLines(Pen pen, Point[] points)
17.Graphics.DrawPie
18.Graphics.DrawRectangle
19.Graphics.DrawRectangles
20.Graphics.DrawString
21.Graphics.EnumerateMetafileProc
22.Graphics.FillClosedCurve
23.Graphics.FillEllipse
24.Graphics.FillEllipse(Brush brush,int x, int y,int width,int height)
25.Graphics.FillPath(Brushes.AliceBlue, myPath);
26.Graphics.FillPolygon
27.Graphics.FillRectangle
28.Graphics.FillRectangles
29.Graphics.FillRegion
30.Graphics.FromHwnd()
31.Graphics.FromImage
32.Graphics.InterpolationMode
33.Graphics.MeasureString
34.Graphics.PageScale
35.Graphics.PageUnit
36.Graphics.PixelOffsetMode
37.Graphics.ReleaseHdc
38.Graphics.RotateTransform
39.Graphics.ScaleTransform
40.Graphics.SetClip
41.Graphics.SetClip(path, (CombineMode)miCombineMode.Index)
42.Graphics.SmoothingMode
43.Graphics.TextRenderingHint
44.Graphics.Transform
45.Graphics.TranslateClip
46.Graphics.TranslateTransform
47.Graphics.VisibleClipBounds