Hala VB'yi yaşıyorum ve iyi bir öğretici olmadan bir problem yaşadım. Bir döngünün her döngüsünde bir Textbox ve Update butonu oluşturan dinamik bir form oluşturdum.Dinamik Bir Biçimde, bir metin kutusunun (tbRef) içeriğini ile birlikte oluşturulan düğmeye nasıl bağlarım?
ben ilan ettiler aşağıdaki küresel değişkenler: döngü içinde
Dim tbRef As Textbox
WithEvents btnUpdate As Button
ve üstü
Do Until counter = Maxrows
counter = counter + 1
...
tbRef = New TextBox
...
Me.Controls.Add(tbRef)
btnUpdate = New button
...
AddHandler btnUpdate.Click, AddressOf btnUpdate_Click
Me.Controls.Add(btnUpdate)
...
tbRef.Text = ds.Tables("Records").Rows(counter - 1).Item(0)
Loop
Ve Nihayet
Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click
UpdateForm.tbRef.Text = Me.tbRef.Text
UpdateForm.Show()
End Sub
aşağıdaki Benim Sorun:
Kod doğru düzeni ve doğru denetimleri üretir ve yalnızca bir sonuç döndürülürse düğme düzgün çalışır. Birden fazla düğme oluşturulmuşsa, tüm düğmeler oluşturulan son Metin Kutusu'nun içeriğine başvurur. İnternette bulduğum tek cevap, Ctype/DirectCast'i her metin kutusunun içeriğini, onunla oluşturulan düğmeye dönüştürmek için kullanmam gerektiğiydi, ancak bu bağlamda bu Operatörlerin nasıl kullanılacağına dair herhangi bir eğitim bulamıyorum. Herhangi bir yardım büyük takdir edilecektir.
Kişisel tbRef değişkeni yalnızca * Bir * metin takip edebilirsiniz. Ama birden fazla yaratıyorsun. Yani bu işe yaramaz, bunun yerine bir liste (TextBox) olarak bildirmeniz gerekir. Ve Tıkla etkinlik işleyicinizde hangi özel düğmenin tıklandığını bilmeniz gerekir; böylece doğru metin kutusunu tekrar listede bulabilirsiniz. Düğmenin Adı veya Etiketi özelliği ile bunu yapabilirsiniz. Bunun yerine bir UserControl oluşturursanız, tüm bunlar çok daha kolay olabilir. –