En iyi yanıtlayıcılar
C# picturebox1'in imagesini tıklanılan picturebox ile değiştirme

Soru
-
Arkadaşlar elimde 50 ye yakın picturebox bunların her birinin click eventine yazmak istemiyorum
programın load'ına yazdım bi klasör var resimleri klasörden alıyorum klasörün içersinde kaç tane resim varsa program açılırken o kadar picurebox üretiyorum resimleri sırayla pictureboximage yapıyorum.
Arkadaşlar benim sorunum şu programımın içerisinde bir tane picturebox var diğer pictureboxlar program çalıştıkdan sonra oluşuyor ve iageleri atanıyor benim istediğim şey program açıldıkdan sonra atanan bu imagelerden birine tıklayınca picturebox'un imagesi onunla değişsin.
kodları şöyle:
private void Form1_Load(object sender, EventArgs e) { int resim_sayisi = Directory.GetFiles(@"C:\Users\özcan\Desktop\ozcan\mekatronİK\C#\NişanGah\nişanlar\saydam Nişanlar", "*.*", SearchOption.AllDirectories).Length;; int j = 10; PictureBox[] resimler = new PictureBox[resim_sayisi]; for (int i = 1; i < resim_sayisi; i++) { resimler[i] = new PictureBox(); resimler[i].Name = "Resim-" + i.ToString(); resimler[i].Location = new Point(panel1.Width / 3, j); resimler[i].ImageLocation = @"C:\Users\özcan\Desktop\ozcan\mekatronİK\C#\NişanGah\nişanlar\saydam Nişanlar\\" + i + ".png"; resimler[i].Visible = true; resimler[i].BackColor = Color.Transparent; resimler[i].SizeMode = PictureBoxSizeMode.AutoSize; this.Controls.Add(resimler[i]); resimler[i].BringToFront(); j = j + 60; panel2.Controls.Add(resimler[i]); resimler[i].MouseClick += new MouseEventHandler((o, a) => clk(i)); } } void clk(int i) { pictureBox5.ImageLocation = @"C:\Users\özcan\Desktop\ozcan\mekatronİK\C#\NişanGah\nişanlar\saydam Nişanlar\" + i + ".png"; }
- Düzenleyen özcan özaltın 20 Nisan 2016 Çarşamba 13:46
Yanıtlar
-
Deleted
- Yanıt Olarak İşaretleyen özcan özaltın 20 Nisan 2016 Çarşamba 13:52
Tüm Yanıtlar
-
Deleted
- Yanıt Olarak İşaretleyen özcan özaltın 20 Nisan 2016 Çarşamba 13:52
-
döngü içinde aynı zamanda Click eventini de oluştur.
resimler[i].Click += resimler_Click; private void resimler_Click(object sender, EventArgs e) { digerPictureBox.Image = ((PictureBox)sender).Image; }
try { OldugunGibiGorun(); } catch (BeceremedimException) { GorundugunGibiOl(); }