I’m trying to change a listbox in my main form from another file (nodes.cs) which contains another class. I created a class in my main form that changes the textbox for me so all I need to do it pass the string to it. Unfortunately, I can’t access the function from the other class unless I make the String-changing-class static. If I make it static, I can’t change the listbox without getting an error:
An object reference is required for the non-static field, method, or property…
I know this means I need to create the object or make it non-static. I find the whole class thing rather confusing. I have to initiate a whole new form object to access it? Anyways.
How do I go about accessing a Listbox from another Class, contained in another file? The two classes are in the same namespace.
there’s no real point in adding what I have, it’s a huge amount of code, and i erased everything I’ve tried already…
MAIN.CS
namespace neuralnetwork
{
public partial class mainform : Form
{
yada yada
public static void changetext(string text)
{
listbox1.items.add(text);
}
}
}
Secondary.cs
namespace neuralnetwork
{
class lolercopter
{
public static void dolol()
{
//here is where I want to change the mainforms textbox.
mainform.changetext(s);
}
}
}
This is essentially what I have. I’ve been reading for over an hour on this…
You can pass a reference to mainform into your method:
Your question leads me to suspect that you have some serious architecture issues with this application, but hopefully this solution can work for you.