Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace Drawline
- {
- public partial class Form1 : Form
- {
- private int step;
- private Point P1;
- private Point P2;
- public Form1()
- {
- InitializeComponent();
- this.MouseDown +=new MouseEventHandler(Form1_MouseDown);
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- Reset();
- }
- private void Form1_MouseDown(object sender, MouseEventArgs e)
- {
- step++;
- switch (step)
- {
- case 1:
- P1 = e.Location;
- ToolStatus("Click to select point 2");
- break;
- case 2:
- P2 = e.Location;
- break;
- }
- if (step == 2)
- {
- StartDrawing();
- Reset();
- }
- }
- private void StartDrawing()
- {
- using (Graphics g = this.CreateGraphics())
- {
- g.DrawLine(new Pen(Color.Red), P1, P2);
- }
- }
- private void Reset()
- {
- ToolStatus("Click to select point 1");
- step = 0;
- P1 = P2 = new Point(0, 0);
- }
- private void ToolStatus(string value)
- {
- Invoke((Action)(() =>
- {
- txtStatus.Text = value;
- }));
- }
- }
- partial class Form1
- {
- /// <summary>
- /// Required designer variable.
- /// </summary>
- private System.ComponentModel.IContainer components = null;
- /// <summary>
- /// Clean up any resources being used.
- /// </summary>
- /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
- #region Windows Form Designer generated code
- /// <summary>
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- /// </summary>
- private void InitializeComponent()
- {
- this.toolStrip1 = new System.Windows.Forms.ToolStrip();
- this.txtStatus = new System.Windows.Forms.ToolStripLabel();
- this.toolStrip1.SuspendLayout();
- this.SuspendLayout();
- //
- // toolStrip1
- //
- this.toolStrip1.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.txtStatus});
- this.toolStrip1.Location = new System.Drawing.Point(0, 337);
- this.toolStrip1.Name = "toolStrip1";
- this.toolStrip1.Size = new System.Drawing.Size(434, 25);
- this.toolStrip1.TabIndex = 0;
- this.toolStrip1.Text = "toolStrip1";
- //
- // txtStatus
- //
- this.txtStatus.Name = "txtStatus";
- this.txtStatus.Size = new System.Drawing.Size(86, 22);
- this.txtStatus.Text = "toolStripLabel1";
- //
- // Form1
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(434, 362);
- this.Controls.Add(this.toolStrip1);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "Form1";
- this.ShowIcon = false;
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "Drawing Line";
- this.Load += new System.EventHandler(this.Form1_Load);
- this.toolStrip1.ResumeLayout(false);
- this.toolStrip1.PerformLayout();
- this.ResumeLayout(false);
- this.PerformLayout();
- }
- #endregion
- private System.Windows.Forms.ToolStrip toolStrip1;
- private System.Windows.Forms.ToolStripLabel txtStatus;
- }
- static class Program
- {
- /// <summary>
- /// The main entry point for the application.
- /// </summary>
- [STAThread]
- static void Main()
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new Form1());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement