Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

c# Runtime'da olusturulan PictureBox'a entity kullanarak image atmak


Microp

Öne çıkan mesajlar

database'deki film sayisi kadar runtime'da picturebox olusturuyorum. fakat pictureboxlara db'den resimleri ekleyemedim. db'de film ID'leri aritmetık degil.
bir yol yordam gostereniniz olur mu acep?

design



code

public string secilenfilm;
SinemasyonEntities3 db = new SinemasyonEntities3();
private void HangiFilmeGidecek_Load(object sender, EventArgs e)
{
PictureBoxOlustur();
PictureBoxDoldur();

}

private void PictureBoxDoldur()
{

}

private void PictureBoxOlustur()
{
int filmimagesayisi = 0;
int pointx = 30;
int pointy = -80;
List filmlistesi = new List();
filmlistesi = db.Filmler.ToList();
foreach (Filmler kactane in filmlistesi)
{
filmimagesayisi++;

}
int kacsira = filmimagesayisi / 3;
for (int j = 1; j {
pointy += 110;
pointx = 30;
for (int i = 1; i {
PictureBox resim = new PictureBox();
resim.Location = new Point(pointx, pointy);
pointx += 100;

resim.Size = new Size(70, 100);
resim.SizeMode = PictureBoxSizeMode.StretchImage;
resim.ImageLocation = "....imagessinema.jpg";
resim.Click += new EventHandler(resim_Click);
this.Controls.Add(resim);
}

}
if (filmimagesayisi % 3 == 1)
{
pointy += 110;
pointx = 30;
PictureBox resimek = new PictureBox();
resimek.Location = new Point(pointx, pointy);
pointx += 100;
resimek.Size = new Size(70, 100);
resimek.SizeMode = PictureBoxSizeMode.StretchImage;
resimek.ImageLocation = "....imagessinema.jpg";
resimek.Click += new EventHandler(resimek_Click);
this.Controls.Add(resimek);
}
else
{
pointy += 110;
pointx = 30;

for (int i = 1; i {
PictureBox resim = new PictureBox();
resim.Location = new Point(pointx, pointy);
pointx += 100;
resim.Size = new Size(70, 100);
resim.SizeMode = PictureBoxSizeMode.StretchImage;
resim.ImageLocation = "....imagessinema.jpg";
resim.Click += new EventHandler(resim_Click);
this.Controls.Add(resim);
}
}

}


edit:spo
Link to comment
Sosyal ağlarda paylaş

Suraya bir goz atmalisin oncelikle, code okunacak durumda degil. Belliki isin basindasin, yanlis gitmesin madem. Film diye objen olmali ayrica, Filmler olmamali adi. Illa kullanacaksan object collection a Filmler dersin ki oda filmler olmali, Filmler degil.

http://en.wikipedia.org/wiki/CamelCase

Db de picture id ler artimetik degil ne demek? Olmasi gereken Film objen de ilgili image id lerin bulunmasi, her bir film i islerken icinden id leri alip imagebox unu olusturacaksin.

Filmler diye bir obje var ortamda, onun code unu paste lermisin, mumkunse online code sharing olsun.
Link to comment
Sosyal ağlarda paylaş

evet isin basindayim henuz. spaghetti coderim malesef. bodoslama yaziyorum.
film ID'ler aritmetik degil derken 1-2-4-9-53-234 seklinde siralaniyor. for dongusune sokup i++ gibi artiramam demek istemistim.

Filmler adinda db'te table var. ayrica baska bi win. form'da partial class olusturmustum. cok kisa bi kod.

Filmler

public partial class Filmler
{
public override string ToString()
{
return OrjinalAdi+" / "+TurkceAdi;
}
}

Link to comment
Sosyal ağlarda paylaş

Filmer.toList dedigin zaman sana bi collection donuyor, bu collection da donerken butun isini bitirmen lazim.

Collection nin count ini bulmak icin foreach yapmissin, count icin bunu yapma. Count/size donen method u vardir onun.

foreach de donerken, Filmer objesinin uzerinde image.path i mevcuttur diye kabul ediyorum, image.path i al ve "...." gibi yazdigin adam yerine onu set et. Collection da iterate etmek pahali is, bir daha donup durma, butun isini iteration icinde hallet, bitir.

Eger ayrica bu image lar uzerine basildigi zaman Filmer objesinden birseylere erismek istiyorsan, hangi image in hangi Filmer e map ettigini bilmen lazim.

C# la arasi iyi olan birileri gelip code unu refactor eder diye umuyorum.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...