使用创建的按钮控件显示创建的文本框值 [英] Using created button controls to display the created textbox value
本文介绍了使用创建的按钮控件显示创建的文本框值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
请帮助我使用多个创建的按钮同时获取多个创建的textbox文本.text
公开 类 Form1
Dim txtadd1 作为 新 TextBox()
Dim txtadd2 作为 新 TextBox()
Dim txtadd3 作为 新 TextBox()
< span class =code-keyword> Dim txtadd4 作为 新 TextBox()
Dim txtadd5 作为 新 TextBox( )
Dim Buttonadd5 作为 新按钮()
私有 Sub Form1_Load( ByVal 发件人作为 对象, ByVal e As System.EventArgs)句柄 我 .Load
Dim Paneladd 作为 新 Panel
Me .Controls.Add(Paneladd)
For i = 0 10
Paneladd.Top = 0
Paneladd.Height = 25
Paneladd.Dock = DockStyle.Top
txtadd1 = 新 TextBox
txtadd1.Name = txtadd1 +(i).ToString
txtadd1.Text = txtadd1 +(i).ToString
txtadd1.Left = 0
txtadd1.Size = 新 System.Drawing.Size( 100 , 10 )
txtadd1.Enabled = False
txtadd2 = 新 TextBox
txtadd2.Name = txtadd2 +(i).ToString
txtadd2.Text = txtadd2 +(i).ToString
txtadd2.Left = 100
txtadd2.Size = 新 System.Drawing.Size( 100 , 10 )
txtadd2.Enabled = False
Buttonadd5 = 新按钮
Buttonadd5.Name = Buttonadd +(i).ToString
Buttonadd5.Text = dr.GetValue( 0 )。ToString()
Buttonadd5.Left = 500
' Buttonadd5.Size = New System.Drawing.Size(100,10)
Buttonadd5.TextAlign = HorizontalAlignment.Center
下一步
Panel3.Controls.Add(Paneladd)
Paneladd.Controls.Add(txtadd1)
Paneladd.Controls.Add(txtadd2)
Paneladd.Controls.Add(txtadd3)
Paneladd.Controls.Add(txtadd4)
Paneladd.Controls.Add(txtadd5)
Paneladd.Controls.Add(Buttonadd5)
结束 Sub
解决方案
如果你所追求的是按动态创建的按钮并访问事件处理程序中相关的动态创建的文本框,那么它非常简单:只需使用Tag属性:
< pre lang =vb> 私有 Sub AddControls()
...
Dim panellAdd As 新 Panel()
For i As 整数 = 1 9
Dim tb1 As 新 TextBox()
Dim tb2 作为 新 TextBox()
Dim b 作为 新按钮()
b .Tag = tb1
tb1.Tag = tb2
b。点击+ = 新 EventHandler( AddressOf b_Click)
...
panellAdd.Controls.Add(tb1)
panellAdd.Controls.Add(tb2 )
panellAdd.Controls.Add(b)
下一步
...
结束 Sub
私有 Sub b_Click(发件人作为 对象,e As EventArgs)
Dim b As Button = TryCast (发件人,按钮)
如果 b IsNot Nothing 然后
Dim tb1 作为 Tex tBox = TryCast (b.Tag,TextBox)
Dim tb2 As TextBox = TryCast (tb1.Tag,TextBox)
...
结束 如果
结束 子
错误'公共事件点击(发件人) As Object,e As System.EventArgs)'是一个事件,不能直接调用。使用'RaiseEvent'语句来举起活动。
b.Click + = New EventHandler(AddressOf b_Click)
我得到一个错误
抱歉 - 我用C#编写并使用了自动翻译器 - 忘了检查那个位:doh:
将行换成:
AddHandler b。点击, AddressOf b_Click
please help me the with the multiple created button the get simultaneously value of the multiple created textbox.text
Public Class Form1
Dim txtadd1 As New TextBox()
Dim txtadd2 As New TextBox()
Dim txtadd3 As New TextBox()
Dim txtadd4 As New TextBox()
Dim txtadd5 As New TextBox()
Dim Buttonadd5 As New Button()
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim Paneladd As New Panel
Me.Controls.Add(Paneladd)
For i = 0 To 10
Paneladd.Top = 0
Paneladd.Height = 25
Paneladd.Dock = DockStyle.Top
txtadd1 = New TextBox
txtadd1.Name = "txtadd1" + (i).ToString
txtadd1.Text = "txtadd1" + (i).ToString
txtadd1.Left = 0
txtadd1.Size = New System.Drawing.Size(100, 10)
txtadd1.Enabled = False
txtadd2 = New TextBox
txtadd2.Name = "txtadd2" + (i).ToString
txtadd2.Text = "txtadd2" + (i).ToString
txtadd2.Left = 100
txtadd2.Size = New System.Drawing.Size(100, 10)
txtadd2.Enabled = False
Buttonadd5 = New Button
Buttonadd5.Name = "Buttonadd" + (i).ToString
Buttonadd5.Text = dr.GetValue(0).ToString()
Buttonadd5.Left = 500
'Buttonadd5.Size = New System.Drawing.Size(100, 10)
Buttonadd5.TextAlign = HorizontalAlignment.Center
Next
Panel3.Controls.Add(Paneladd)
Paneladd.Controls.Add(txtadd1)
Paneladd.Controls.Add(txtadd2)
Paneladd.Controls.Add(txtadd3)
Paneladd.Controls.Add(txtadd4)
Paneladd.Controls.Add(txtadd5)
Paneladd.Controls.Add(Buttonadd5)
End Sub
解决方案
If what you are after is "press a dynamically created button and access the related dynamically created Textboxes in the event handler" then it's pretty simple: just use the Tag property:
Private Sub AddControls() ... Dim panellAdd As New Panel() For i As Integer = 1 To 9 Dim tb1 As New TextBox() Dim tb2 As New TextBox() Dim b As New Button() b.Tag = tb1 tb1.Tag = tb2 b.Click += New EventHandler(AddressOf b_Click) ... panellAdd.Controls.Add(tb1) panellAdd.Controls.Add(tb2) panellAdd.Controls.Add(b) Next ... End Sub Private Sub b_Click(sender As Object, e As EventArgs) Dim b As Button = TryCast(sender, Button) If b IsNot Nothing Then Dim tb1 As TextBox = TryCast(b.Tag, TextBox) Dim tb2 As TextBox = TryCast(tb1.Tag, TextBox) ... End If End Sub
"Error 'Public Event Click(sender As Object, e As System.EventArgs)' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.
b.Click += New EventHandler(AddressOf b_Click)
im getting an error"
Sorry - I wrote it in C# and used an automatic translator - and forgot to check that bit :doh:
Replace the line with:
AddHandler b.Click, AddressOf b_Click
这篇关于使用创建的按钮控件显示创建的文本框值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文