You are on page 1of 5

Phn 1: Hng dn s dng PictureBox to Slide Show Mc tiu Vit mt chng trnh C# n gin c th m v xem hnh nh, v hin

th tng hnh trong slide show.

Hng dn Ta thit k giao din nh sau: dng Buttons (for Previous-button1, Open-button2, Next-button3, and Start Slideshow-button4), v PictureBox, v mt Panel ( cha PictureBox). PictureBox SizeMode c chn l StretchImage. B1. Khai bo 4 bin: private string [] folderFile = null; private int selected = 0; private int begin = 0; private int end = 0; Bin u l mng chui dng lu tr danh sch cc tp tin trong th mc. Cc bin cn li dng lu v tr bt u, v tr kt thc mng v hnh ang hin th. B2: Ta vit hm x l s kin Click cho nt Open private void button2_Click(object sender, System.EventArgs e) { FolderBrowserDialog folderBrowserDialog1= new FolderBrowserDialog();

if(folderBrowserDialog1.ShowDialog() == DialogResult.OK) { string [] part1=null, part2=null, part3=null; part1 = Directory.GetFiles(folderBrowserDialog1.SelectedPath,"*.jpg"); //remember: using //namespaces System.IO; part2 = Directory.GetFiles(folderBrowserDialog1.SelectedPath,"*.jpeg"); part3 = Directory.GetFiles(folderBrowserDialog1.SelectedPath,"*.bmp"); folderFile = new string[part1.Length + part2.Length + part3.Length]; Array.Copy(part1,0,folderFile,0,part1.Length); Array.Copy(part2,0,folderFile,part1.Length,part2.Length); Array.Copy(part3,0,folderFile,part1.Length + part2.Length,part3.Length); selected = 0; begin = 0; end = folderFile.Length; showImage(folderFile[selected]); button1.Enabled = true; button3.Enabled = true; button4.Enabled = true; } } Nu kt qu FolderBrowserDialog l OK, tt c cc tp tin JPG, JPEG, and BMP trong th mc c chp vo mng fileFolder. Sau c hin th ln thng qua hm showImage(). private void showImage(string path) { Image imgtemp = Image.FromFile(path); pictureBox1.Width = imgtemp.Width / 2; pictureBox1.Height = imgtemp.Height / 2; pictureBox1.Image = imgtemp; } rng v di c chia 2 lm gim kch thc ca hnh. B3: Ta vit hm prevImage() v hm c gi trong s kin Click ca nt Previous private void prevImage() { if(selected == 0) {

selected = folderFile.Length - 1; showImage(folderFile[selected]); } else { selected = selected - 1; showImage(folderFile[selected]); } } B4: Ta vit hm nextImage() v hm c gi trong s kin Click ca nt Next private void nextImage() { if(selected == folderFile.Length - 1) { selected = 0; showImage(folderFile[selected]); } else { selected = selected + 1; showImage(folderFile[selected]); } } hin th hnh k v trc , n gin ch thit lp li bin selected. B5: chy slide show, ta ko vo trong form control timer v b sung s kin Tick private void timer1_Tick(object sender, System.EventArgs e) { nextImage(); } B6: X l s kin Click ca nt Start Slideshow private void button4_Click(object sender, System.EventArgs e) { if(timer1.Enabled == true) { timer1.Enabled = false; button4.Text = "<< START Slide Show >>";

} else { timer1.Enabled = true; button4.Text = "<< STOP Slide Show >>"; } } i vi chc nng slide show, gi hm nextImage() trong timer1_tick, v thit lp Enabled l true hay false. Phn 2: Hin th nh trn form vi C# Mc tiu:Hin th hnh nh vo form C# Hng dn: S dng cc namespaces hin th hnh nh System.Drawing System.Drawing.Drawing2D

Hng dn hin th hnh nh ta dng lnhSystem.Drawing.Graphics.DrawImage(...). Hm DrawImage() l mt phng thc ca lp Graphics. V th trc khi dng hm DrawImage()ta cn to mt i tng Graphics. i tng ny s l form m ta v trn . Chng ta s to i tng ny trong Paint Handler ca form. V d Paint Handler : private void MainForm_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { ... } Khi ai gi paint handler ca form, d liu graphics ca form stuff is passed to it. Graphics g = e.Graphics; By gi ta c th gi hmDrawImage(): public void DrawImage( Image image, Rectangle rect; );

Phng thc ny v mt i tng Image(System.Drawing.Image), ti v tr v kch c hnh (thng qua i tng rect ca lp Rectangle Chng ta c th to i tng Image t lp Bitmap MyBitmap = new Bitmap(...); Chng ta s dng hm khi to lp Bitmap sau public Bitmap( string filename; ); Tham s truyn vo l tn tp tin cn hin th. private void MainForm_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; Bitmap MyBitmap = new Bitmap("c:\\image.bmp"); g.DrawImage( MyBitmap, new RectangleF(0, 0, MyBitmap.Width, MyBitmap.Height) ); } Cch to mng nh cc pictureBox: PictureBox[] Shapes = new PictureBox[10]; for (int i = 0; i < 10; i++) { Shapes[i] = new PictureBox(); Shapes[i].Name = "ItemNum_" + i.ToString(); Shapes[i].Location = new Point(x, y); Shapes[i].Size = new Size(100, 100); Shapes[i].BackColor = Color.Black; Bitmap MyBitmap = new Bitmap("tn file"); Shapes[i].Image = MyBitmap; Shapes[i].Visible = true; this.Controls.Add(Shapes[i]); }

You might also like