İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp
  3. C# Login Ekranında Sürekli Değişen Resimler Yapmak

C# Login Ekranında Sürekli Değişen Resimler Yapmak

C# Login Ekranında Sürekli Değişen Resimler Yapmak

 

C# Login Ekranında Sürekli Değişen Resimler Yapmak , bu işlemi bir sitede bir arkadaşımız sormuştu. Hangi site olduğunu tam olarak hatırlamıyorum. Bir yere kaydetmiştim aklıma gelmişken burada da yayınlamak istedim. Buna benzer bir işlem belki sizinde bir işinizde yardımcı olabilir. Hadi C Sharp Login Ekranında Sürekli Değişen Resimler Yapmak dersimize geçelim.

 

C Sharp Login Ekranında Sürekli Değişen Resimler Yapmak

Bu derste göreceğimiz konular…

  1. PictureBox Kullanımı
  2. Timer Kullanımı
  3. DirectoryInfo Kullanımı
  4. FileInfo Kullanımı
  5. For Kullanımı

Öncelikle projemizin

bin/debug

yoluna bir klasör açalım ve içerisine resimlerimizi atalım. Resimlerimizi login_1.jpg, login_2.jpg gibi bir formatta isimlendirelim.

DİKKAT: İsimler farklı farklı olmayacak. Tek farklı kısım sayısı olacak. Aksi takdirde bu yöntem çalışmaz.

Şimdi bizim bu resimleri proje içerisinde bulmamız gerekiyor. Bunun için Directoryİnfo ve Fileİnfo sınıflarını kullanacağız. DirectoryInfo ile klasörü tarayacağız, FileInfo ile klasördeki resimlerin sayısını for döngüsü kullanarak alacağız.

int adet = 0;
void ResimleriSay()
        {
            DirectoryInfo di = new DirectoryInfo(AppPath = System.Windows.Forms.Application.StartupPath + @"LoginResimler");
            FileInfo[] rgFiles = di.GetFiles();
            adet = 0;
            for (int i = 0; i < rgFiles.Count(); i++)
            {
                adet++;
            }
        }
//Adet değişkenimizi tanımlıyori metodumuzu hazırlıyoruz. 
//Bu bir kullanım yoludur. Diğer yolumuz ise

int ResimleriSay()
        {
            DirectoryInfo di = new DirectoryInfo(Classlar.GlobalSistem.AppPath + @"LoginResimler");
            FileInfo[] rgFiles = di.GetFiles();
            int adet = 0;
            for (int i = 0; i < rgFiles.Count(); i++)
            {
                adet++;
            }
            return adet;
        }
// ikinci yolumuz da budur arkadaşlar. Kullanım şeklide;
// Textbox1.Text = ResimleriSay().ToString();
// Birinci de metod ile değişkenimizi doldurduk
// İkinci de metodun kendisini değişken yapıp kullandık

Evet Klasördeki resimlerin sayısını almış olduk. Bunu yapmamızdaki amacımız klasörde kaç tane resim var ise o kadar değişmesini istememiz. Bir resim koyarsak hiç değişmeyecek.

//NOT:
System.Windows.Forms.Application.StartupPath
//Bize programın exe dosyasının bulunduğu klasörün yolunu verir.

Login formumuza bir adet PictureBox, bir adette Timer ekliyoruz.

C sharp eğitimi

Formumuzun load eventine gelelim ve Timer’imizi ayarlayalım. Tabi ki Timer başladığında resim adedi de bize lazım olacağından load eventimizde ResimSay() fonksiyonumuz da çalıştırıyoruz.

pictureEdit1.Image = Image.FromFile(System.Windows.Forms.Application.StartupPath + @"LoginResimlerlogin 1.jpg");
 // form ilk açıldığında boş gelmemesi için varsayılan bir resim ayarladık.
 ResimleriSay();
 timer1.Enabled = true; 
 timer1.Interval = 1000; // 1000 demek 1 saniye demektir. Her saniye resim değişecek
 timer1.Start();

Şimdi de Timer‘imizin Tick eventine gelip kodlarımızı yazıyoruz.

int i = 0;
private void timer1_Tick(object sender, EventArgs e)
{
    i++;
    if (i > adet)
       i = 1;
    pictureEdit1.Image = Image.FromFile(System.Windows.Forms.Application.StartupPath+ @"{0}LoginResimlerlogin "+1+".jpg");
    ResimleriSay();
}

i  adında bir int değişkeni tanımladık. Timer‘in her tick demesinde i ‘yi bir arttırdık. Eğer ki i klasörümüzdeki resim sayısına eşit oldu ise, (yani tüm resimleri gösterildi ise) i değişkenimizi 1 yapıyoruz.

Şimdi ;

i = 1 , adet = 18 eşit mi? Değil… Devam ediyoruz

PictureBox‘in resmini alacağız.

System.Windows.Forms.Application.StartupPath // bu kod ile ana klasöre geldik


@"{0}LoginResimler" ile resimlerimizin klasöürün adını veriyoruz. 

//Buradaki @ amacı ter slash'ların hata vermemesi için.  
// Ya "" çift slash kullanacaksınız yada @ işareti


//işte en civcivli kısım burası 

"login " + i + ".jpg";

// Yukarıda demiştik hepsi aynı isimde olsun sayıları farklı olsun diye. İşte onun amacı burada 
// çıkıyor. 
// Timer'imizin her tick 'inde i ' yi bir arttırmıştık. Buradaki resim adı yerinde sayıya denk 
// gelecek şekilde i değişkenini veriyoruz. Bu şekilde resim adı şöyle oluyor "login 1.jpg"
// klasörümüzde login 1.jpg var ise gösterilecektir. Yok ise hata verecektir
// Tick eventindeki if kontrolünün de amacı bu hatanın önüne geçmektir.

Tick eventi’nin en sonundaki “ResimleriSay();” yeni eklenen resimler olursa diye sayıyı güncelliyoruz.

 


C Sharp Login Ekranında Sürekli Değişen Resimler Yapmak , dersimizin sonuna geldik. Bol nesneli bilgi dolu güzel bir yazı oldu.

C Sharp Eğitim Seti ve ERP Programlama eğitimi sayfasına gitmek için tıklayınız.

Sağlıcakla ve takipte kalın. 😉

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Yorumlarınız Değerlidir. Yorumlarınızı Bekliyorum