Hej! Du får ju helt enkelt hålla en referens från den form med textboxen (1)på till den med label (2). Nja, det fungerar inte ritigt. Jag ska försöka visa hur det hade sett ut i VB6: Om du vill åtegå till tidigare beteende är det bara att ändrar hur kontrol varaiablerna deklareras. Från Private till Friend eller Public. Jag har en Public Property i formuläret med labeln. Men jag vet inte hur jag skall komma åt den från det andra formuläret. Motsvarande variant i den förtjusande OOP-världen blir något åt detta håll. Detta fungerar perfekt! Jag tycker att du placerat egenskapen fel formulär. Form2 blir generellt om det är den sdom äger egenskapen:Texten från en textbox i ett form till en label i ett annat form
I mitt program har jag två stycken formulär. På det ena formuläret(Form1) finns det en label och en knapp. När man klickar på knappen skall det andra formuläret(Form2) visas. På Form2 finns det en text-box och en knapp. När man klickar på knappen i Form2 så skall texten i text-boxen skrivas in i labeln på Form1. Finns det några tips på hur man kan göra?
/GetSv: Texten från en textbox i ett form till en label i ett annat f
I den andra får du ta o deklarera en public property sen är det bara att:
'i form1
'on buttonpress..
me.myReferenceToTheOtherForm.labelIWantToChange.Text = me.textbox1.text
Enklaste sättet att få tag i referensen är ju att skapa form2 från form1 men det kanske du inte vill så då får du sätta den externt.
Några oklarheter?Sv: Texten från en textbox i ett form till en label i ett annat f
<code>
' I form 1
Private Sub Button1_Click
Form2.Show()
End sub
'I form2
Private Sub Button1_Click
Form1.Label1.Caption=Textbox1.Text
Me.Unload
End sub
</code>
/GetSv: Texten från en textbox i ett form till en label i ett annat f
Men det är en vackert att göra så. Skapa istället en egenskap eller funktion på forumläret med labeln och skicka värdet som argument.Sv: Texten från en textbox i ett form till en label i ett annat f
Sv: Texten från en textbox i ett form till en label i ett annat f
Koden för form1
<code>
Private mMatadText As String
Friend Property MatadText() As String
Get
Return mMatadText
End Get
Set(ByVal Value As String)
mMatadText = Value
End Set
End Property
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim frm2 As New Form2()
frm2.ShowDialog(Me) ' Viktigt med showdialog
Label1.Text = MatadText ' Läs av din property
End Sub
</code>
Och sen är koden för form2
<code>
Dim frm1 As Form1 = Me.Owner() ' Skapa ett nytt objekt av typen form1
frm1.MatadText = TextBox1.Text ' Sätt egenskapen
Me.Hide() ' Dölj dig själv
</code>
Nackdelen med denna lösning är att du måste visa ditt nya fönster modalt, men det kanske inte är något problem.
//Mikael.NET
GOD JULSv: Texten från en textbox i ett form till en label i ett annat f
Tack för hjälpen!
/GetSv: Texten från en textbox i ett form till en label i ett annat f
<code>
'Form: Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim frm2 As New Form2()
frm2.ShowDialog(Me) ' Viktigt med showdialog
Label1.Text = frm2.MatadText ' Läs av din property
End Sub
'Form: Form2
Private mMatadText As String
Friend Property MatadText() As String
Get
Return mMatadText
End Get
Set(ByVal Value As String)
mMatadText = Value
End Set
End Property
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
mMatadText = TextBox1.Text ' Sätt egenskapen
Me.Hide() ' Dölj dig själv
End Sub
</code>