LEITURA DE TEXTBOX EM TEMPO DE EXECUCAO

FELIPEDRONI 28/02/2012 15:50:19
#395946
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.


JONATHANSTECKER 28/02/2012 16:32:23
#395956
Resposta escolhida
Dim Objeto As TextBox = Me.Controls([Ô]txt1[Ô])
MsgBox(Objeto.Text)
FELIPEDRONI 01/03/2012 01:13:56
#396094
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)...
FELIPEDRONI 01/03/2012 01:37:57
#396096
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
FELIPEDRONI 01/03/2012 01:47:20
#396097
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
Tópico encerrado , respostas não são mais permitidas