Csharp/CSharp Tutorial/GUI Windows Forms/PictureBox

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Add Image to PictureBox

<source lang="csharp">using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class PictureBoxImageAdding : System.Windows.Forms.Form {

 private System.ruponentModel.Container components = null;
 private PictureBox picBox = new PictureBox();
 public PictureBoxImageAdding()
 {
   InitializeComponent();
   picBox.SizeMode = PictureBoxSizeMode.StretchImage;
   picBox.Location = new System.Drawing.Point(64, 32);
   picBox.Size = new System.Drawing.Size(50, 50);
   picBox.Image = new Bitmap("yourFile.bmp");
   Controls.Add(picBox);
 }
 protected override void Dispose( bool disposing )
 {
   picBox.Dispose();
   if( disposing )
   {
     if (components != null) 
     {
       components.Dispose();
     }
   }
   base.Dispose( disposing );
 }
 private void InitializeComponent()
 {
   this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
   this.ClientSize = new System.Drawing.Size(292, 273);
 }
 [STAThread]
 static void Main() 
 {
   Application.Run(new PictureBoxImageAdding());
 }

}</source>

AutoSize PictureBox

<source lang="csharp">using System; using System.Drawing; using System.Windows.Forms; public class PictureBoxAutoSize : Form {

 public PictureBoxAutoSize()
 {
   Size = new Size(550,500);
   AutoScroll = true;
   Image img = Image.FromFile("YourFile.bmp");
   Label lblAuto = new Label();
   lblAuto.Parent = this;
   lblAuto.Location = new Point(0, 250);
   lblAuto.Size = new Size(75,25);
   lblAuto.TextAlign = ContentAlignment.MiddleRight;
   lblAuto.Text = "AutoSize:";
   PictureBox pbAutoBig = new PictureBox();
   pbAutoBig.Parent = this;
   pbAutoBig.Size = new Size(200, 200);
   pbAutoBig.Location = new Point(75, 250);
   pbAutoBig.BorderStyle = BorderStyle.FixedSingle;
   pbAutoBig.SizeMode = PictureBoxSizeMode.AutoSize;
   pbAutoBig.Image = img;
 }
 static void Main() 
 {
   Application.Run(new PictureBoxAutoSize());
 }

}</source>

CenterImage PictureBox

<source lang="csharp">using System; using System.Drawing; using System.Windows.Forms; public class PictureBoxCenterImage : Form {

 public PictureBoxCenterImage()
 {
   Size = new Size(550,500);
   AutoScroll = true;
   Image img = Image.FromFile("YourFile.bmp");
   Label lblCenter = new Label();
   lblCenter.Parent = this;
   lblCenter.Location = new Point(0,480);
   lblCenter.Size = new Size(75,25);
   lblCenter.TextAlign = ContentAlignment.MiddleRight;
   lblCenter.Text = "CenterImage:";
   PictureBox pbCenterBig = new PictureBox();
   pbCenterBig.Parent = this;
   pbCenterBig.Size = new Size(200, 200);
   pbCenterBig.Location = new Point(75,480);
   pbCenterBig.BorderStyle = BorderStyle.FixedSingle;
   pbCenterBig.SizeMode = PictureBoxSizeMode.CenterImage;
   pbCenterBig.Image = img;
   PictureBox pbCenterSmall = new PictureBox();
   pbCenterSmall.Parent = this;
   pbCenterSmall.Size = new Size(100, 100);
   pbCenterSmall.Location = new Point(325,480);
   pbCenterSmall.BorderStyle = BorderStyle.FixedSingle;
   pbCenterSmall.SizeMode = PictureBoxSizeMode.CenterImage;
   pbCenterSmall.Image = img;
 }
 static void Main() 
 {
   Application.Run(new PictureBoxCenterImage());
 }

}</source>

Change PictureBox Cursor

<source lang="csharp">using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class PictureBoxCursorChange : System.Windows.Forms.Form {

 private System.ruponentModel.Container components = null;
 private PictureBox picBox = new PictureBox();
 public PictureBoxCursorChange()
 {
   InitializeComponent();
   picBox.SizeMode = PictureBoxSizeMode.StretchImage;
   picBox.Location = new System.Drawing.Point(64, 32);
   picBox.Size = new System.Drawing.Size(50, 50);
   picBox.Image = new Bitmap("yourFile.bmp");
       picBox.Cursor = Cursors.Hand;
   Controls.Add(picBox);
 }
 protected override void Dispose( bool disposing )
 {
   picBox.Dispose();
   if( disposing )
   {
     if (components != null) 
     {
       components.Dispose();
     }
   }
   base.Dispose( disposing );
 }
 private void InitializeComponent()
 {
   this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
   this.ClientSize = new System.Drawing.Size(292, 273);
 }
 [STAThread]
 static void Main() 
 {
   Application.Run(new PictureBoxCursorChange());
 }

}</source>

Create an in-memory bitmap and draw and Display the bitmap in the picture box

<source lang="csharp">using System; using System.Drawing; using System.Windows.Forms; public class BitmapCreateDrawing : Form {

   public BitmapCreateDrawing()
   {
       this.panel1 = new System.Windows.Forms.Panel();
       this.pictureBox1 = new System.Windows.Forms.PictureBox();
       this.panel1.SuspendLayout();
       ((System.ruponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
       this.SuspendLayout();
       // 
       // panel1
       // 
       this.panel1.AutoScroll = true;
       this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
       this.panel1.Controls.Add(this.pictureBox1);
       this.panel1.Location = new System.Drawing.Point(12, 12);
       this.panel1.Size = new System.Drawing.Size(268, 242);
       this.pictureBox1.Location = new System.Drawing.Point(73, 62);
       this.pictureBox1.Size = new System.Drawing.Size(111, 144);
       this.pictureBox1.TabStop = false;
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
       this.ClientSize = new System.Drawing.Size(296, 270);
       this.Controls.Add(this.panel1);
       this.panel1.ResumeLayout(false);
       ((System.ruponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
       this.ResumeLayout(false);
       string text = "string";
       Font font = new Font("Tahoma", 20);
       
       Bitmap b = new Bitmap(600, 600);
       using (Graphics g = Graphics.FromImage(b))
       {
           g.FillRectangle(Brushes.White, new Rectangle(0, 0, 
               b.Width, b.Height));
           g.DrawString(text, font, Brushes.Black, 50, 60);
       }
       pictureBox1.BackgroundImage = b;
       pictureBox1.Size = b.Size;
       
   }
   [STAThread]
   static void Main()
   {
       Application.EnableVisualStyles();
       Application.SetCompatibleTextRenderingDefault(false);
       Application.Run(new BitmapCreateDrawing());
   }
   private System.Windows.Forms.Panel panel1;
   private System.Windows.Forms.PictureBox pictureBox1;

}</source>

Normal PictureBox

<source lang="csharp">using System; using System.Drawing; using System.Windows.Forms; public class PictureBoxNormal : Form {

 public PictureBoxNormal()
 {
   Size = new Size(550,500);
   AutoScroll = true;
   Image img = Image.FromFile("YourFile.bmp");
   Label lblNormal = new Label();
   lblNormal.Parent = this;
   lblNormal.Location = new Point(0,20);
   lblNormal.Size = new Size(75,25);
   lblNormal.TextAlign = ContentAlignment.MiddleRight;
   lblNormal.Text = "Normal:";
   PictureBox pbNormalBig = new PictureBox();
   pbNormalBig.Parent = this;
   pbNormalBig.Size = new Size(200, 200);
   pbNormalBig.Location = new Point(75,20);
   pbNormalBig.BorderStyle = BorderStyle.FixedSingle;
   pbNormalBig.SizeMode = PictureBoxSizeMode.Normal;
   pbNormalBig.Image = img;
 }
 static void Main() 
 {
   Application.Run(new PictureBoxNormal());
 }

}</source>

StretchImage PictureBox

<source lang="csharp">using System; using System.Drawing; using System.Windows.Forms; public class PictureBoxStretchImage : Form {

 public PictureBoxStretchImage()
 {
   Size = new Size(550,500);
   AutoScroll = true;
   Image img = Image.FromFile("YourFile.bmp");
   Label lblStretch = new Label();
   lblStretch.Parent = this;
   lblStretch.Location = new Point(0,710);
   lblStretch.Size = new Size(75,25);
   lblStretch.TextAlign = ContentAlignment.MiddleRight;
   lblStretch.Text = "StretchImage:";
   PictureBox pbStretchBig = new PictureBox();
   pbStretchBig.Parent = this;
   pbStretchBig.Size = new Size(200, 200);
   pbStretchBig.Location = new Point(75,710);
   pbStretchBig.BorderStyle = BorderStyle.FixedSingle;
   pbStretchBig.SizeMode = PictureBoxSizeMode.StretchImage;
   pbStretchBig.Image = img;
   PictureBox pbStretchSmall = new PictureBox();
   pbStretchSmall.Parent = this;
   pbStretchSmall.Size = new Size(100, 100);
   pbStretchSmall.Location = new Point(325,710);
   pbStretchSmall.BorderStyle = BorderStyle.FixedSingle;
   pbStretchSmall.SizeMode = PictureBoxSizeMode.StretchImage;
   pbStretchSmall.Image = img;
 }
 static void Main() 
 {
   Application.Run(new PictureBoxStretchImage());
 }

}</source>