开发者

won't add TabPage to TabControl

开发者 https://www.devze.com 2023-04-01 04:58 出处:网络
I\'m trying to add a tabPage to an existing TabControl named TabControl4 I went all over it with the Debugger and everything is fine, but it won\'t show the TabPage in the TabControl.

I'm trying to add a tabPage to an existing TabControl named TabControl4 I went all over it with the Debugger and everything is fine, but it won't show the TabPage in the TabControl. That's the code, Notice all the information being added to the TabPage is retrieved from a database so don't pay any attention to it, plus the software is in Hebrew so just ignore the Hebrew Strings.

Table = DataBase.OpenRecordset("AthInj")
    Table.Index = "PrimaryKey"
    Table.Seek("=", AthId)
    Dim day1() As String = Table.Fields("injDay1").Value.ToString.Split("^")
    Dim month1() As String = Table.Fields("injMonth1").Value.ToString.Split("^")
    Dim year1() As String = Table.Fields("injYear1").Value.ToString.Split("^")
    Dim day2() As String = Table.Fields("injDay2").Value.ToString.Split("^")
    Dim month2() As String = Table.Fields("injMonth2").Value.ToString.Split("^")
    Dim year2() As String = Table.Fields("injYear2").Value.ToString.Split("^")
    Dim injs() As String = Table.Fields("inj").Value.ToString.Split("$")
    Dim treats() As String = Table.Fields("treat").Value.ToString.Split("$")
    Dim rehabs() As String = Table.Fields("rehab").Value.ToString.Split("$")
    For i As Integer = 0 To injs.Length - 2
        Dim tp As New TabPage
        tp.Text = "פציעה " & (i + 1)
        tp.Name = "inj" & i
        Dim bday1 As New ComboBox
        Dim bmonth1 As New ComboBox
        Dim byear1 As New ComboBox
        Dim bday2 开发者_JAVA百科As New ComboBox
        Dim bmonth2 As New ComboBox
        Dim byear2 As New ComboBox
        Dim da As Label
        Dim label1 As Label
        Dim label3 As Label
        Dim label4 As Label
        Dim multiText As New TextBox
        Dim ill As New TextBox
        Dim date2 As Label
        Dim rehabText As New TextBox
        da = setLabel("מתאריך:", "injda" & i, 17, 560)
        label1 = setLabel("הפציעה/מחלה:", "inj" & i, 133, 490)
        date2 = setLabel("עד לתאריך:", "date2" & i, 67, 560)
        label3 = setLabel("דרכי הטיפול:", "injtreat" & i, 187, 473)
        label4 = setLabel("דרכי השיקום:", "injrehab" & i, 326, 470)
        copyCombo(bday2, bday, i, 60, bday.Width, 71)
        copyCombo(bmonth2, bmonth, i, 230, bmonth.Width, 71)
        copyCombo(byear2, byear, i, 396, byear.Width, 71)
        bday2.Name = "bday2" & i
        bmonth2.Name = "bmonth2" & i
        byear2.Name = "byear2" & i
        byear2.SelectedIndex = byear2.FindStringExact(year2(i))
        bmonth2.SelectedIndex = month2(i)
        bday2.SelectedIndex = day2(i)
        copyCombo(bday1, bday, i, 60, bday.Width, da.Top + 4)
        copyCombo(bmonth1, bmonth, i, 230, bmonth.Width, da.Top + 4)
        copyCombo(byear1, byear, i, 396, byear.Width, da.Top + 4)
        byear1.SelectedIndex = byear1.FindStringExact(year1(i))
        bmonth1.SelectedIndex = month1(i)
        bday1.SelectedIndex = day1(i)
        setTextBox(ill, 138, 80, "ill" & i, False, ScrollBars.None, 400)
        ill.Text = injs(i)
        setTextBox(multiText, 191, 32, "treatText" & i, True, ScrollBars.Vertical, 399)
        setTextBox(rehabText, 330, 32, "rehabText" & i, True, ScrollBars.Vertical, 399)
        multilineToBox(treats(i), multiText)
        multilineToBox(rehabs(i), rehabText)
        With tp.Controls
            .Add(rehabText)
            .Add(ill)
            .Add(date2)
            .Add(bday2)
            .Add(bmonth2)
            .Add(byear2)
            .Add(da)
            .Add(label1)
            .Add(label3)
            .Add(label4)
            .Add(bday1)
            .Add(bmonth1)
            .Add(byear1)
            .Add(multiText)
        End With
        tp.AutoScroll = True
        tp.BackColor = Color.White
        tp.RightToLeft = Windows.Forms.RightToLeft.Yes
        TabControl4.Controls.Add(tp)
    Next


I just knocked up a little test app with a blank form and then added a TabControl and named it tabcontrol1.

Then in the form load event added the following

Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load

    Dim textbox1 As New TextBox With {.Text = "Textbox 1"}
    Dim tabPage1 As New TabPage With {.Text = "TabPage 1"}

    Dim textbox2 As New TextBox With {.Text = "Textbox 2"}
    Dim tabPage2 As New TabPage With {.Text = "TabPage 2"}


    tabPage1.Controls.Add(textbox1)
    tabPage2.Controls.Add(textbox2)

    TabControl1.TabPages.Add(tabPage1)
    TabControl1.TabPages.Add(tabPage2)

End Sub

And everything worked fine. I think the only bit you have wrong in your code is where you have TabControl4.Controls.Add(tp) instead of TabControl4.TabPages.Add(tp)

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号