• 14-01-2010, 20:46:02
    #1
    Merhaba,

    VB.Net ile bir proje yazıyorum ve şöyle bir şeye ihtiyaç duydum. Bir veritabanından yada xml'den veri okuyup bunları butonlar üzerine yazmam gerekiyor. Bunun için kod ile nesne oluşturup parametlerini vererek yapmam lazım. Ama sınırsız sayıda nesneyi oluşturamadım. Nesne isimlerini indisli vermeyi denedim onu da yemedi. Bunun için nasıl bir yol önerirsiniz?

            Dim btn1 As New Button()
            
            Me.Controls.Add(btn1)
    
            btn1.Name = "btnTest"
            btn1.Text = "test"
  • 14-01-2010, 20:59:28
    #2
    Üyeliği durduruldu
    tam olarak yapmak istediğin nedir ? veri tabanınından id sine göre veri çekip o veriyi oluşturulan buton nesnesinin textine vereceksin ?
  • 14-01-2010, 21:14:59
    #3
    Örneğin veritabanında 10 tane veri var. Bunları okuyorum. Daha sonra kod ile 10 tane buton oluşturup form üzerindeki panel nesnesinin üzerinde bunları alt alta konumlandırmak istiyordum. Birkaç saattir araştırıyordum sonunda çözümü kendimde buldum

    butonları tanımlama satırında indisli tanımlama bir türlü yapmıyordu, sonunda şans eseri tanımlamayı hatasız geçecek şekilde yazmayı başarıdım

            Dim butonSayisi As Integer = 10
            'Dim btn1(butonSayisi) As New Button() şeklinde yazmayı denedim olmadı
            'Dim btn1(butonSayisi) As Button() şeklinde yazmayı denedim olmadı
            Dim btn1(butonSayisi) As Button ' bu şekilde tanımlamak gerekliymiş
            Dim pt As System.Drawing.Point
            Dim sz As System.Drawing.Size
            Dim i As Integer
    
            For i = 0 To butonSayisi - 1
                btn1(i) = New Button
                btn1(i).Name = "btn" & i + 1
                btn1(i).Text = "test" & i + 1
                btn1(i).Visible = True
    
                pt.X = 0
                If i = 0 Then
                    pt.Y = 0
                Else
                    pt.Y = btn1(i - 1).Location.Y + 29
                End If
    
                sz.Height = 30
                sz.Width = 200
                btn1(i).Location = pt
                btn1(i).Size = sz
                Panel1.Controls.Add(btn1(i))
            Next
  • 14-01-2010, 21:21:13
    #4
    Üyeliği durduruldu
    Evet bende böyle bir şeye bakmışdım tamda
    Alıntı
    Structure indis
    Dim butontext As Button
    End Structure
    Dim nesne(2) As indis
  • 14-01-2010, 21:23:48
    #5
    Teşekkürler yine de. Artık ihtiyaç duyan bir başkası olursa onun için yardımcı olacaktır.
  • 22-01-2010, 21:58:44
    #6
    Teşekkürler..