Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > Picturebox(i) ye erişme
Yazar
vastani


avatar
istanbul
Kayıt: 14.12.2006
20.06.2010-15:52 #69803
vb.net te (c # ta olur) dinamik veya designda(faketmez) oluşturduğum belli sayıda picturebox nesnesinden herhangi bir durumda mesela picturebox2 nin image ını değiştirmek istiyorum.Dinamik olarak 100 adet pictureboxımı bir grupbox içinde aşağıdaki kodla oluşturdum
Public Class Form1
    Dim katsayisi As Integer = 10


    Dim temp As PictureBox() = New PictureBox(katsayisi) {} 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim cnt As Integer = 0
        Dim x As Integer = 15
        Dim y As Integer = 30

        For i = 0 To 9
            For j = 0 To 9
                temp(cnt) = New PictureBox
                temp(cnt).Location = New System.Drawing.Point(x, y) 'yerini belirlemek içinkullandık
                temp(cnt).Size = New System.Drawing.Size(30, 30) 'büyüklüğünü ayarlıyoruz
                temp(cnt).ForeColor = System.Drawing.Color.Black 'rengi
                temp(cnt).BackColor = System.Drawing.Color.Red 'arka plan
                temp(cnt).Image = Image.FromFile(dosyayolu)
                '//temp(cnt).Name=""
                GroupBox1.Controls.Add(temp(cnt))                
                y = y + 30 'y eksenindeki yerini arttırıyor
            Next
            x = x + 30
            y = 30
        Next

oluşan 100 adet picturebox nesnesinden herhangi birinin imageını nasıl değiştiririm.Yardımcı olursanız sevinirim.





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
20.06.2010-16:27 #69806
Kabaca aşağıdaki şekilde erişebilirsin ;)

 foreach (Control c in groupBox1.Controls)
            {
                if(c.GetType() == typeof(PictureBox))
                {
                    ((PictureBox) c).ImageLocation = "blabla";
                }
            }






Yazar
vastani


avatar
istanbul
Kayıt: 14.12.2006
20.06.2010-17:24 #69811
burakkanmaz yazdi
 
Kabaca aşağıdaki şekilde erişebilirsin ;)

 foreach (Control c in groupBox1.Controls)
            {
                if(c.GetType() == typeof(PictureBox))
                {
                    ((PictureBox) c).ImageLocation = "blabla";
                }
            }


burada groupbox1 deki tüm pictureboxların image ı değişmez mi? Ben bu pictureboxlardan mesela for döngüsü içinde picturebox1 den picturebox10 a kadar olanların image ını değiştirmek istiyorum(bir butonun click eventı sayesinde) Yani mesele picturebox(i) ye nasıl erişebilirim





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
20.06.2010-17:37 #69812
vastani yazdi
 
burada groupbox1 deki tüm pictureboxların image ı değişmez mi? Ben bu pictureboxlardan mesela for döngüsü içinde picturebox1 den picturebox10 a kadar olanların image ını değiştirmek istiyorum(bir butonun click eventı sayesinde)


Tepede bir tane i tanımla. Değiştirdikçe arttır ve 10 olunca break yap ;)





Yazar
vastani


avatar
istanbul
Kayıt: 14.12.2006
20.06.2010-17:46 #69813
burakkanmaz yazdi
 
vastani yazdi
 
burada groupbox1 deki tüm pictureboxların image ı değişmez mi? Ben bu pictureboxlardan mesela for döngüsü içinde picturebox1 den picturebox10 a kadar olanların image ını değiştirmek istiyorum(bir butonun click eventı sayesinde)


Tepede bir tane i tanımla. Değiştirdikçe arttır ve 10 olunca break yap ;)


Böyle sanırım hallederim.Eyvallah, parmaklarına sağlık...





Yazar
ridaniye


avatar
antalya
Kayıt: 26.04.2006
20.06.2010-19:00 #69818
Merhaba,

Herseferinde groupbox içerisinde gezinip içeriği değiştirilecek picturebox nesenelerini bulmaktansa form sınıfı içerisinde 100 tane picturebox tutulabilir. Ram üzerinde sadece 4*100 = 400 bayt yer tutar.

private PictureBox[] fpb = new PictureBox[100]

...

temp(cnt) = New PictureBox 
fpb[i*10 + j] = temp(cnt)

...








Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb