Question Convert string to give textbox name to get contents of textbox

wilson208

Member
Joined
Jun 21, 2011
Messages
9
Programming Experience
Beginner
Hi, there is probably a simple soltion to this, i have been looking for a solid hour now on the internet but cant find how it is done. Here is my problem.

I have a form where a number of textboxes are programmatically created within a flowLayoutPanel and named by adding together 2 strings.

With the click of another button i hope to have all the values entered into these text boxes stored in a text file. However, i cant seem to find a way to add strings together to allow me to retrieve the values entered within the text boxes created.

Below is the code i have so far:
BTW FLP is my flow layout panel and c is my calculated nmber of textboxes that are created.
VB.NET:
Private Sub createTB(ByVal c As Integer)

        Dim x1 As Integer = 1
        Dim y As Integer = 2
        Dim str As String = "TBX"
        Dim file As System.IO.StreamWriter
        file = My.Computer.FileSystem.OpenTextFileWriter("C:\Users\Wilson\Documents\test.txt", True)

        Do Until x1 = c + 1
            Dim x2 As String = Convert.ToString(x1)
            Dim nme As String = str + x2

            Dim NTB1 As New TextBox With {.Size = (New Size(60, 20)), .Anchor = AnchorStyles.Left, .Name = nme, .Text = "HelloCruelWorld"}
            Dim NTB2 As New TextBox With {.Size = (New Size(60, 20)), .Anchor = AnchorStyles.Bottom}

            Dim NLB1 As New Label With {.Text = "Heat No.: ", .Anchor = AnchorStyles.Left}
            Dim NLB2 As New Label With {.Text = "Riders in Heat: ", .Anchor = AnchorStyles.Bottom}

            FLP.Controls.Add(NLB1)
            FLP.Controls.Add(NTB1)
            FLP.Controls.Add(NLB2)
            FLP.Controls.Add(NTB2)

            x1 = x1 + 1

        Loop
Below is my code for exporting to file
VB.NET:
private sub Export_To_File(byval c as integer) Handles BTN2.Click

        For val1 As Integer = 1 To c
            Dim tbp1 As String = Convert.ToString(val1)
            Dim nme As String = str + tbp1
            Dim txt As String = ".text"

            file.WriteLine([nme] + [txt])


        Next

        file.close()
endsub
Sorry if this doesnt make any sense, i havent done much programming before and just trying to find my feet.
Many Thanks, Wilson.
 

JohnH

VB.NET Forum Moderator
Staff member
Joined
Dec 17, 2005
Messages
15,437
Location
Norway
Programming Experience
10+
Dim txt As String = FLP.Controls(nme).Text
 
Top Bottom