Vet inte om rubriken är riktigt riktig men nu kör vi i alla fall "Dim myText As New Form1" skapar en ny instans av Form1, du ändrar alltså inte texten i den instansen du ser på skärmen. Ok, den naturliga frågan blir då, hur ändrar jag texten i TextBox1 från Class1? Går det? Kan man inte göra så här.Skapa och använda objekt
Två filer, Form1.vb och Clas1.vb.
Form1.vb ser ut så här:
<code>
Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim test As New Class1
test.popup()
'TextBox1.Text = "1111111111111111"
End Sub
Public Sub writeTxt()
TextBox1.Text = "oooooooooo"
MsgBox("writeTxt körd")
End Sub
End Class
</code>
Class1.vb
<code>
Public Class Class1
Public Sub popup()
Dim myText As New Form1
myText.writeTxt()
End Sub
End Class
</code>
När jag trycker på knappen Button1 så får jag upp meddelanderutan med texten writeTxt körd men texten i TextBox1 ändras inte till ooooooooo, varför?
Samma sak om jag i Class1-filen lägger till myText.TextBox1.Text = "Lite text" i popup, "Lite text" står då inte i TextBox1.Sv: Skapa och använda objekt
/JohanSv: Skapa och använda objekt
Sv: Skapa och använda objekt
<code>
Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim test As New Class1
test.popup(Me)
'TextBox1.Text = "1111111111111111"
End Sub
Public Sub writeTxt()
TextBox1.Text = "oooooooooo"
MsgBox("writeTxt körd")
End Sub
End Class
</code>
<code>
Class1.vb
Public Class Class1
Public Sub popup(Byval frm As Form)
frm.writeTxt()
End Sub
End Class
</code>