Let's say I have a form named Form1 with textBox and button in it.
I want to get the textBox value from another class on button click. I'm trying to do it like this, but it doesn't work:
class Main
{
public void someMethod()
{
Form1 f1 = new Form1();
string desiredValue = f1.textBox.Text;
}
}
Forgive me for the dumb question, but I'm pretty new in C# and can't get this thing to work.
When you say
You are creating a whole new object with its own textbox.
If you want the value that is on that textbox of that form, you will need to refer to the same instance of Form1 where the user typed the value.
I think its because you are creating a new instance of form1 so you are actually only getting the textbox text from f1.
You need to find the opened Form1 instead of creating another Form1, create the following class
Then in your button click method
your textBox is probably
private
, although that is as it should be. If you need the Text from the textbox you can expose it with a propertyIs this pseudo-code, or is this the code you're actually trying to use?
If you're trying to use this code, what you're doing is creating a brand new Form1. Unless the constructor for Form1 puts something into your textbox, it will be empty at this point.