Chúng ta minh họa sử dụng điều khiển FolderBrowsersDialog qua ứng dụng tạo Slide ảnh. dụng tạo Slide ảnh.
Giả sử chúng ta có một form có tên: frmFolderBrowserDialog, trên form có chứa một số điều khiển sau: chứa một số điều khiển sau:
• PictureBox có tên pictureBox1 để hiển thị ảnh
• Điều khiển folderBrowserDialog có tên folderBrowserDialog1 dùng để chọn thư mục chứa ảnh để chọn thư mục chứa ảnh
• Điều khiển Timer có tên timer1
• Button có tên btOpen
→ XEM CODE TRONG PROJECT KÈM THEO (frmFolderBrowserDialog) (frmFolderBrowserDialog)
//Khai báo mảng string[] MangAnh = null; int Index = 0;
int CountImage;
//Load
privatevoid frmFolderBrowserDialog_Load(object sender, EventArgs e) {
this.WindowState = FormWindowState.Maximized;
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; }
//Mở thư mục chứa các File ảnh
privatevoid btOpen_Click(object sender, EventArgs e) {
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) {
//Khai báo các mảng để chứa các ảnh khác nhau: jpg, jpeg
string[] MangAnhJpg = null, MangAnhJpeg = null, MangAnhBitmap = null; //Lấy ra các phần tử của mảng bảng cách dùng lớp Directory
//Ở đây tôi chọn thư mục: D:\Pictures chứa rất nhiều ảnh của tôi
MangAnhJpg = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.jpg");//CHÚ Ý CÂU LỆNH NÀY MangAnhJpeg = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.jpeg");//CHÚ Ý CÂU LỆNH NÀY MangAnhBitmap = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.bmp");//CHÚ Ý CÂU LỆNH NÀY //Lấy ra chiều dài mảng
int i = MangAnhJpg.Length; int j = MangAnhJpeg.Length; int k = MangAnhBitmap.Length;
//Khai báo mảng mới là tổ hợp của 3 mảng
//Xử lý về mảng
Array.Copy(MangAnhJpg, 0, MangAnh, 0,i); //CHÚ Ý CÂU LỆNH NÀY Array.Copy(MangAnhJpeg, 0, MangAnh, i, j); //CHÚ Ý CÂU LỆNH NÀY Array.Copy(MangAnhBitmap, 0, MangAnh, i+j, k); //CHÚ Ý CÂU LỆNH NÀY //3 CÂU LỆNH NÀY ĐÚNG LOGIC CHƯA????? ^_^ ☺
//Lấy ra số ảnh CountImage = MangAnh.Length; //Hết ForEach timer1.Enabled = true; } }
//Chú ý: Đặt thuộc tính cho Timer //Enabled=true
//Interval=2000 > sau 2 giây chuyển sang ảnh tiếp theo privatevoid timer1_Tick(object sender, EventArgs e) {
//Khai bào Image > Chú ý câu lệnh này
Image img = Image.FromFile(MangAnh[Index]); //Hiển thị nên Picture
pictureBox1.Image = img; //Chuyển đến ảnh tiếp theo Index++;
if (Index >= End) Index = 0; }