Bu yazımızda C# Windows Formda Timer ve Picturebox kullanarak herhangi bir klasörde yüklü olan resimlerin rasgele gösterilmesini gerçekleştireceğiz. Timer kullanarak resimlerin ne kadar süre ekranda kalacağını ayarlayacağız.
Form tasarımı için formumuza 1 tane Picturebox,1 tane Timer ve 2 tane Button ekleyelim.
Aşağıdaki satırı projemize eklemeyi unutmayalım.
1 2 3 |
using System.IO; |
Programın kodları:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string[] dosyalar = Directory.GetFiles(@"D:\resim\","*.jpg"); private void Form1_Load(object sender, EventArgs e) { timer1.Interval = 2000; } private void timer1_Tick(object sender, EventArgs e) { Random r = new Random(); pictureBox1.ImageLocation = dosyalar[r.Next(0,dosyalar.Length)]; } private void button1_Click(object sender, EventArgs e) { timer1.Start(); } private void button2_Click(object sender, EventArgs e) { timer1.Stop(); } } } |
Örneği incelediğimizde “D” sürücüsünde “resim” klasörü içinde bulunan “jpg” uzantılı dosyaların bir dizi içerisine atıldığını ve gösterim aşamasında ise dizi eleman sayısına kadar rasgele sayı üretilerek fotoğraf görüntülemesinin yapıldığını görüyoruz. Butonlarımız timer kontrolünü başlatma ve durdurma görevini yapmakta.
diyelimki başlangıçta 5 tane buton olacak.mesela 3.butona basıldığında klasördeki 3.resim gösterilecek.3.resim gösterilirken altta ileri geri butonu olacak.ileriye basıldığında 4.resim ,geriye basıldığında 2 .resim gösterilecek,gene geriye basıldığında 1.resim gösterilecek.ve bu program başka
bir pc dede çalışabilecek,resimleri göndermeden yani resimler gömülü olacak.böyle bir örnek yapabilirmisiniz teşekkürler.
kodlarda yanlışlık var directory hatası veriyor çok baştan savma bir yazı gibi geldi bana anlayamadım
using System.IO;
satırını eklemediğiniz için o hatayı alıyorsunuz.
BU UYGULAMANIN TAM MERKEZDEN GELECEK ŞEKİLDE AMA RESİM DEĞİLDE RASTGELE RENKLER ŞEKLİNDE OLANIINDA YAYINLARMISINIZ?
Tam merkezden gelecek kısmını ve ne yPmak istediğinizi biraz daha açıklarsaniz yardımcı olurum.