Jak przypisać tekst do textbox na TabPage?

0
    Private Sub stworz_karty()
        Dim myUserControl As New UserControl1()
        Dim myTabPage As New TabPage()
        myTabPage.Text = (Form1.TabControl1.TabPages.Count + 1)
        myTabPage.Controls.Add(myUserControl)
        Form1.TabControl1.TabPages.Add(myTabPage)
    End Sub

tak tworze nowe karty z zawartością "usercontrol" który zawiera TextBox1.....

chciałbym aby każda NOWO-UTWORZONa TabPage dodatkowo wykonywała to:
TextBox1.Text (na nowo-utworzonej TabPage, znajdujacy sie w UserControl1) Od razu po utworzeniu przyjmował wartość Form1.szablonik, czyli TextBox1.Text = Form1.szalobnik

        If TextBox1.Text = "" And Not Form1.szablonik = "" Then
            TextBox1.Text = Form1.szablonik
        End If

jak te kody połączyć ze sobą? :)

napisalem cos takiego, niby dziala... ale wolalbym aby ktos podtwierdzil czy poprawnie to zrobilem :D

    Private Sub stworz_karty()
        Dim myUserControl As New UserControl1()
        myUserControl.TextBox1.Text = Form1.szablonik
        Dim myTabPage As New TabPage()
        myTabPage.Text = (Form1.TabControl1.TabPages.Count + 1)
        myTabPage.Controls.Add(myUserControl)
        Form1.TabControl1.TabPages.Add(myTabPage)
    End Sub
0

Nie wiem jak ma się to co pisałeś że chcesz zrobić:

        If TextBox1.Text = "" And Not Form1.szablonik = "" Then
            TextBox1.Text = Form1.szablonik

        End If

do tego:

myUserControl.TextBox1.Text = Form1.szablonik

Ale skoro Ci działa to może tak zostać.

W każdym razie jak chcesz coś zrobić zaraz po utworzeniu obiektu to powinno się to robić w konstruktorze. Jak w Solution Explorer klikniesz PPM na UserControl->View Code
Będziesz mógł dodać

    Public Sub New(str As String)
        InitializeComponent()
        TextBox1.Text = str
    End Sub

I teraz jak tworzysz nowy userControl

Dim myUserControl As New UserControl1(Form1.szablonik)

Tekst z szablonika zostanie przypisany do tego textboxa.

Inna fajna rzecz to to że możesz dodawać tu swoje metody:

        Public Sub DoSomething(text As String)
		TextBox2.Text = text
		TextBox3.Text = text & "asef"
		'co tam chcesz
	End Sub

Nie musisz zawalać form1 metodami które operują na wewnętrznych obiektach UserControl

myUserControl1.DoSomething("jakis tekst")

1 użytkowników online, w tym zalogowanych: 0, gości: 1