LEITURA DE TEXTBOX EM TEMPO DE EXECUCAO
Hey galera, sou novo no vb.net e estou com um problemão, já estou pesquisando
a um bom tempo mas não tenho sucesso mas não tive exito em nenhuma tentativa e gostaria da ajuda de vc[ô]s.
o problema é o seguinte, crio x numero de textbox por um for, até ai tudo bem mas depois preciso ler valores
destes text[ô]s, o código que estou usando para a criação é esse:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim quantidade As Integer
Dim anos As Integer
anos = TextBox1.Text
For quantidade = 0 To anos
Dim meutxtbx = New TextBox
meutxtbx.Name = String.Format([Ô]txt[Ô] & quantidade)
If quantidade = 1 Then
meutxtbx.Location = New Point(120, 30)
Else
meutxtbx.Location = New Point(120, (30 * quantidade))
End If
Me.Controls.Add(meutxtbx)
Next
End Sub
End Class
depois de criado o usuario insere alguns valores dentro das textbox, agora como eu passo esses
valores para um variavel? desde já agradeço.
a um bom tempo mas não tenho sucesso mas não tive exito em nenhuma tentativa e gostaria da ajuda de vc[ô]s.
o problema é o seguinte, crio x numero de textbox por um for, até ai tudo bem mas depois preciso ler valores
destes text[ô]s, o código que estou usando para a criação é esse:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim quantidade As Integer
Dim anos As Integer
anos = TextBox1.Text
For quantidade = 0 To anos
Dim meutxtbx = New TextBox
meutxtbx.Name = String.Format([Ô]txt[Ô] & quantidade)
If quantidade = 1 Then
meutxtbx.Location = New Point(120, 30)
Else
meutxtbx.Location = New Point(120, (30 * quantidade))
End If
Me.Controls.Add(meutxtbx)
Next
End Sub
End Class
depois de criado o usuario insere alguns valores dentro das textbox, agora como eu passo esses
valores para um variavel? desde já agradeço.
Dim Objeto As TextBox = Me.Controls([Ô]txt1[Ô])
MsgBox(Objeto.Text)
hey JONATHANSTECKER, fiz desta maneira:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For quantidadetxtbx = 0 To contador
Dim Objeto As TextBox
Objeto = New TextBox
Objeto = Me.pnl1.Controls([Ô]meutxtbx1[Ô])
MsgBox(Objeto.Text)
Next
End Sub
este código esta no botão que supostamente o usuário apertaria para receber o valor digitado na textbox
alguns nomes mudarão pois criei outro projeto para teste
Mas então não funciono, retorna o seguinte erro:
Object reference not set to an instance of an object.
E quando debugo, o objeto esta sem valor(nothing)...
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For quantidadetxtbx = 0 To contador
Dim Objeto As TextBox
Objeto = New TextBox
Objeto = Me.pnl1.Controls([Ô]meutxtbx1[Ô])
MsgBox(Objeto.Text)
Next
End Sub
este código esta no botão que supostamente o usuário apertaria para receber o valor digitado na textbox
alguns nomes mudarão pois criei outro projeto para teste
Mas então não funciono, retorna o seguinte erro:
Object reference not set to an instance of an object.
E quando debugo, o objeto esta sem valor(nothing)...
cara mil desculpas, fico assim:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For quantidadetxtbx = 0 To contador
Dim Objeto = New TextBox
Objeto = Me.pnl1.Controls([Ô]meutxtbx0[Ô])
MsgBox(Objeto.Text)
Objeto = Nothing
Next
End Sub
assim funciono, mas ainda não esta como tem que estar dentro de um for, quando eu faço isso:
Objeto = Me.pnl1.Controls([Ô]meutxtbx[Ô] & quantidade)
não funciona, pois ele tem que ler n textbox
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For quantidadetxtbx = 0 To contador
Dim Objeto = New TextBox
Objeto = Me.pnl1.Controls([Ô]meutxtbx0[Ô])
MsgBox(Objeto.Text)
Objeto = Nothing
Next
End Sub
assim funciono, mas ainda não esta como tem que estar dentro de um for, quando eu faço isso:
Objeto = Me.pnl1.Controls([Ô]meutxtbx[Ô] & quantidade)
não funciona, pois ele tem que ler n textbox
Hey galera estou de volta, deu tudo certo...
Muito obrigado JONATHANSTECKER pela sua ajuda, vc não sabe como
eu procurei isso. Para aqueles interessados:
Public Class Form1
[ô]cria variaveis publicas e compartilhadas
Shared quantidadetxtbx As Integer = 0
Shared txt2 As Integer = 0
Public contador As Integer
[ô]classe do botão criar, no evento click
Private Sub btnCriarTexbox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCriarTexbox.Click
If txtcont.Text <> [Ô][Ô] Then
[ô]variavel contador recebe valor de quantidade
contador = txtcont.Text
[ô]recebe+1
quantidadetxtbx = quantidadetxtbx + 1
txt2 = txt2 + 1
[ô]fazer loop até valor recebido em contador
For Form1.quantidadetxtbx = 0 To contador
[ô]instancia objeto para usar seus metodos
Dim meutxtbx = New TextBox
Dim mylabel = New Label
[ô]nomea as texts
meutxtbx.Name = String.Format([Ô]meutxtbx{0}[Ô], quantidadetxtbx)
mylabel.Text = String.Format([Ô]Ano{0}[Ô], quantidadetxtbx)
[ô]condição de quantidade, para criar txt(local)
If quantidadetxtbx = 1 Then
meutxtbx.Location = New Point(50, 42) [ô]x,y
mylabel.Location = New Point(12, 42)
Else
meutxtbx.Location = New Point(50, (42 * quantidadetxtbx))
mylabel.Location = New Point(12, (42 * quantidadetxtbx))
End If
[ô]criar a txt
Me.pnl1.Controls.Add(meutxtbx)
Me.pnl1.Controls.Add(mylabel)
Next
[ô]tudo =
For Form1.txt2 = 0 To contador
Dim meudois = New TextBox
meudois.Name = String.Format([Ô]meudois{0}[Ô], txt2)
If txt2 = 1 Then
meudois.Location = New Point(180, 42)
Else
meudois.Location = New Point(180, (42 * txt2))
End If
Me.pnl1.Controls.Add(meudois)
Next
Else
MsgBox([Ô]Digite a quantia de anos[Ô], MsgBoxStyle.Information)
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For quantidadetxtbx = 0 To contador
Dim Objeto = New TextBox
Objeto = Me.pnl1.Controls([Ô]meutxtbx[Ô] & quantidadetxtbx)
MsgBox(Objeto.Text)
Objeto = Nothing
Next
End Sub
End Class
este é o código todo...
e mais uma vez, obrigado JONATHANSTECKER
Muito obrigado JONATHANSTECKER pela sua ajuda, vc não sabe como
eu procurei isso. Para aqueles interessados:
Public Class Form1
[ô]cria variaveis publicas e compartilhadas
Shared quantidadetxtbx As Integer = 0
Shared txt2 As Integer = 0
Public contador As Integer
[ô]classe do botão criar, no evento click
Private Sub btnCriarTexbox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCriarTexbox.Click
If txtcont.Text <> [Ô][Ô] Then
[ô]variavel contador recebe valor de quantidade
contador = txtcont.Text
[ô]recebe+1
quantidadetxtbx = quantidadetxtbx + 1
txt2 = txt2 + 1
[ô]fazer loop até valor recebido em contador
For Form1.quantidadetxtbx = 0 To contador
[ô]instancia objeto para usar seus metodos
Dim meutxtbx = New TextBox
Dim mylabel = New Label
[ô]nomea as texts
meutxtbx.Name = String.Format([Ô]meutxtbx{0}[Ô], quantidadetxtbx)
mylabel.Text = String.Format([Ô]Ano{0}[Ô], quantidadetxtbx)
[ô]condição de quantidade, para criar txt(local)
If quantidadetxtbx = 1 Then
meutxtbx.Location = New Point(50, 42) [ô]x,y
mylabel.Location = New Point(12, 42)
Else
meutxtbx.Location = New Point(50, (42 * quantidadetxtbx))
mylabel.Location = New Point(12, (42 * quantidadetxtbx))
End If
[ô]criar a txt
Me.pnl1.Controls.Add(meutxtbx)
Me.pnl1.Controls.Add(mylabel)
Next
[ô]tudo =
For Form1.txt2 = 0 To contador
Dim meudois = New TextBox
meudois.Name = String.Format([Ô]meudois{0}[Ô], txt2)
If txt2 = 1 Then
meudois.Location = New Point(180, 42)
Else
meudois.Location = New Point(180, (42 * txt2))
End If
Me.pnl1.Controls.Add(meudois)
Next
Else
MsgBox([Ô]Digite a quantia de anos[Ô], MsgBoxStyle.Information)
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For quantidadetxtbx = 0 To contador
Dim Objeto = New TextBox
Objeto = Me.pnl1.Controls([Ô]meutxtbx[Ô] & quantidadetxtbx)
MsgBox(Objeto.Text)
Objeto = Nothing
Next
End Sub
End Class
este é o código todo...
e mais uma vez, obrigado JONATHANSTECKER
Tópico encerrado , respostas não são mais permitidas