private Pen pen1; private Graphics g; public Form1() { InitializeComponent(); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.Load += new EventHandler(Form1_Load); this.Closing += new CancelEventHandler(Form1_Closing); } void Form1_Closing(object sender, CancelEventArgs e) { pen1.Dispose(); g.Dispose(); } void Form1_Load(object sender, EventArgs e) { pen1 = new Pen(Color.DarkRed, 2); g = this.CreateGraphics(); } private void button1_Click(object sender, EventArgs e) { // Rectangle rec = Screen.PrimaryScreen.Bounds; // Rectangle res = Screen.PrimaryScreen.WorkingArea; pen1.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid; g.DrawLine(pen1, 10, 10, 100, 100); Thread myThread = new Thread(new ThreadStart(threadRun)); myThread.Start(); } private void threadRun() { AddToView("Thread Run"); } private void AddToView(String str) { Invoke(new EventHandler(toView), str); } private void toView(object sender, EventArgs e) { label1.Text = sender.ToString(); }