Merhaba Arkadaşlar...
Ben resim kayıtlarımı veritabanından alıyorum ve picturebox içerisine atıyorum. Fakat resimler üst üste biniyor haliyle sanki bir kayıt varmış gibi görünüyor. Ben resimleri picturebox kullanarak yan yana nasıl çekerim.
C# PictureBox Yan Yana Gösterme
4
●73
- 08-09-2021, 11:17:27Üyeliği durduruldu
- 08-09-2021, 11:23:53mucahitguner adlı üyeden alıntı: mesajı görüntüle
imagelist kullanmayı dene istersen - 08-09-2021, 12:17:45Imagelist kullanabilirsiniz, eğer istediğiniz şekilde esnetemezseniz;
5-6 farklı fonksiyon yazmanız gerekir.
Birinci Fonksiyon kaç resimin yan yana, (Toplam resim sayısı ve form genişliği parametre olarak alınır)
İkinci Fonksiyon kaç resimin alt alta, (Toplam resim sayısı ve form yüksekliği parametre olarak alınır)
Üçüncü Fonksiyon standart resim kutusu olculeri * resimin sirasına göre forma eklenecek picturebox'un X koordinatı (Kaçıncı resim parametre olarak alınır),
Dördüncü Fonksiyon standart resim kutusu olculeri * resimin sirasina göre forma eklenecek picturebox'un Y koordinatı (Kaçıncı resim parametre olarak alınır),
Besinci Fonksiyon resimi dinamik olarak bir iki uc ve dorduncu fonksiyonları da kullanarak forma ekleme......
Altıncı Fonksiyon for each resim sayısı kadar bunu tekrar etme...
Bu şekilde bir class yaparsanız, pagination (sayfalama) için size kütüphane olur. Havuz problemleri geldi aklıma nedense. Ne işe yarar diye konuşuruz hep. İşte bu tür işleri yaparken kısmen işe yarıyor. - 08-09-2021, 15:28:01Üyeliği durdurulduHepinize yardımınız için teşekkür ederim, benım kodlarım aşağıdaki gibi. Bende formdaki kayıt sayısı kadar işlemi yapıp picturebox üretmesini düşündüm ve öyle yaptım. Ama üst üste görünüyor. c# da yeniyim biraz kod olarak da yardımcı olabilirseniz sevinirim. Imagelist i list<> içinde kullanıp verileri koleksiyon yapıp addrange ile ekleyeyim dedım ama olmadı.
var result = menuDal.GetByMenu(); dgwList.DataSource = result; for (int i = 0; i < dgwList.RowCount; i++) { picList.ImageLocation = dgwList.CurrentRow.Cells[1].Value.ToString(); lblMenuName.Text = dgwList.CurrentRow.Cells[1].Value.ToString(); flowLayoutPanel1.Controls.Add(picList); }