using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace GraphicsObject_c
{
///
/// Summary description for GraphicsObject.
///
public class GraphicsObject : System.Windows.Forms.Form
{
private System.Windows.Forms.PictureBox P1;
private System.Windows.Forms.Panel Panel1;
private System.Windows.Forms.Button B1;
///
/// Required designer variable.
///
private System.ComponentModel.Container components = null;
public GraphicsObject()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
this.P1.Paint += new System.Windows.Forms.PaintEventHandler
(this.AllPaint);
this.Panel1.Paint += new System.Windows.Forms.PaintEventHandler
(this.AllPaint);
this.B1.Paint += new System.Windows.Forms.PaintEventHandler
(this.AllPaint);
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.P1 = new System.Windows.Forms.PictureBox();
this.Panel1 = new System.Windows.Forms.Panel();
this.B1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// P1
//
this.P1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.P1.Location = new System.Drawing.Point(192, 16);
this.P1.Name = "P1";
this.P1.Size = new System.Drawing.Size(152, 168);
this.P1.TabIndex = 0;
this.P1.TabStop = false;
this.P1.Click += new System.EventHandler(this.P1_Click);
//
// Panel1
//
this.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Panel1.Location = new System.Drawing.Point(16, 168);
this.Panel1.Name = "Panel1";
this.Panel1.Size = new System.Drawing.Size(120, 120);
this.Panel1.TabIndex = 2;
//
// B1
//
this.B1.Location = new System.Drawing.Point(192, 216);
this.B1.Name = "B1";
this.B1.Size = new System.Drawing.Size(152, 120);
this.B1.TabIndex = 3;
this.B1.Text = "button1";
this.B1.Click += new System.EventHandler(this.B1_Click);
//
// GraphicsObject
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(424, 373);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.B1,
this.Panel1,
this.P1});
this.Name = "GraphicsObject";
this.Text = "GraphicsObject";
this.Load += new System.EventHandler(this.GraphicsObject_Load);
this.ResumeLayout(false);
}
#endregion
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.Run(new GraphicsObject());
}
private void GraphicsObject_Load(object sender, System.EventArgs e)
{
}
protected override void OnPaint( PaintEventArgs e )
{
Graphics G = e.Graphics;
G.DrawLine(Pens.Black,20,20,100,100);
base.OnPaint(e);
}
//----------------------------------------------------------------------------
void P1Paint( object sender,PaintEventArgs e )
{
Graphics G = e.Graphics;
G.DrawLine(Pens.Black,20,20,100,100);
base.OnPaint(e);
}
void Panel1Paint( object sender,PaintEventArgs e )
{
Graphics G = e.Graphics;
G.DrawLine(Pens.Black,20,20,100,100);
base.OnPaint(e);
}
void ButtonPaint( object sender,PaintEventArgs e )
{
Graphics G = e.Graphics;
G.DrawLine(Pens.Black,20,20,100,100);
base.OnPaint(e);
}
void AllPaint( object sender, PaintEventArgs e )
{
Graphics G = e.Graphics;
if ( sender.GetType() == Panel1.GetType() )
if ( ((Panel)sender).Name == "Panel1" )
G.DrawLine(Pens.Red,20,20,100,100);
if ( sender.GetType() == B1.GetType() )
if ( ((Button)sender).Name == "B1" )
G.DrawLine(Pens.Green,20,20,100,100);
if ( sender.GetType() == P1.GetType() )
if ( ((PictureBox)sender).Name == "P1" )
G.DrawLine(Pens.Blue,20,20,100,100);
base.OnPaint(e);
}
private void B1_Click(object sender, System.EventArgs e)
{
Graphics G;
Graphics G2;
G = this.CreateGraphics();
G.DrawLine ( new Pen(Color.DarkMagenta,10),50,10,50,100 );
G2 = Graphics.FromHwnd(this.Handle);
G2.DrawLine(new Pen(Color.DarkCyan, 10), 70, 10, 70, 100);
// Create new graphics object using handle to device context.
Graphics G3 = Graphics.FromHdc(G2.GetHdc());
G3.DrawLine(new Pen(Color.Black, 10), 85, 10, 85, 100);
G3.Dispose();
G.Dispose();
// G2.Dispose();
}
private void P1_Click(object sender, System.EventArgs e)
{
Image img = Image.FromFile("crane.jpg");
Graphics G = Graphics.FromImage(img);
G.DrawLine(new Pen(Color.Aquamarine, 10), 0,(int)(img.Height / 2),
(int)(img.Width),
(int)(img.Height / 2));
P1.Image=img;
G.Dispose();
}
}
}