Csharp/CSharp Tutorial/GUI Windows Forms/PictureBox
Содержание
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>