Hello people,
I need to do this:
I have Form1 having textbox1. I want to display text entered into textbox1 into Label1 of Form2.
Suggestions Welcomed.
Thanks
Hello people,
I need to do this:
I have Form1 having textbox1. I want to display text entered into textbox1 into Label1 of Form2.
Suggestions Welcomed.
Thanks
Define a property in Form2 that will hold that string, then assign to it and refresh()/invalidate() the control in Form2 whenever you want (ex. in the validated event of the textbox in Form1). For example, in Form2:
public string MyText {
get { return textBox1.Text; }
set {
textBox1.Text = value;
textBox1.Invalidate();
}
}
And in Form1 (assuming a Form2 object has been created):
private void textBox1_Validated(object sender, EventArgs e)
{
_form2.MyText = textBox1.Text;
}
Edit: My bad, I thought this was the C# forum. But the solution is identical, just use VB.NET instead of C#. ;)
how are you displaying form2? I do it with a button click in form1. So after creating an instance of form2 you just assign the text from form1.textox1.text to form2.label1.text
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim fm2 As Form2 = New Form2
fm2.label1.Text = Me.textbox1.Text
fm2.ShowDialog()
End Sub
So after creating an instance of form2 you just assign the text from form1.textox1.text to form2.label1.text
Only if the control is explicitly made public in Form2. By default new controls added through the designer are private (as they should be!), and in a code review I'd question making them public.
I didn't change anything like that. In fact I made no code changes at all to Form2. Here's the application declarations, all code generated by vb.net
Private Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(112, 94)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(39, 13)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Label1"
'
'Form2
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(284, 262)
Me.Controls.Add(Me.Label1)
Me.Name = "Form2"
Me.Text = "Form2"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Only if the control is explicitly made public in Form2. By default new controls added through the designer are private (as they should be!), and in a code review I'd question making them public.
I'm not looking to jump into the fray; just providing some information.
For C# the default control access modifier is "private", for VB the default access modifier is "Friend" (internal).
In your Form2
label1.Text = Form1.textbox1.Text
use Modules...
create a variable that will hold the text in texbox1 in Form1Dim x as String = TextBox1.Text
then on Form2 you can importImports ProjectName.Form1
with that you canLabel1.Text = Form2.x
or simplyLabel1.Text = x
though i always include the form name as to not get confused ..
well i'm not particularly sure with the Import thing but that's what i learned from a certain site, or perhaps its not actually needed, anyways its not that hard so you can do it :) plus you can always use modules when you have functions that are used repetitively or to maintain the orderliness of your program.good luck
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.