I couldn't find another thread on this. Anyway, This seems simple enough, but I can't figure it out:I want to change properties of form controls from another class. I can do some of it easily with gets and sets like public string LblLabel { get { return lblLabel.Text; } set { lblLabel.Text = value; } }in the mainForm class and placing something like this public mainForm mainForm { get { return parent; } set { parent = value; } }in the other class. But that limits me to only changing the text of lblLabel, I want to do something like this: public Label LblLabel { get { return lblLabel; } set { lblLabel = value; } }and actually pass a Label object to the form. It doesn't throw an error when i do this, but it doesn't update my form, even when I run Refresh() or Update(), anythoughts?
9/8/2009 4:07:30 PM
what properties are you trying to set?[Edited on September 8, 2009 at 4:12 PM. Reason : ]
9/8/2009 4:10:14 PM
Extend the class with an overloaded set function that can take an argumen
9/8/2009 4:12:08 PM
^ elaborate (I don't know much)?^^ I want control of all the properties, public Label LblLabel{ get { return lblLabel; } set { lblLabel = value as Label; }}should work, as far as I can tell. When I'm debugging and I step through, it changes lblLabel to the label object that I want it to be (the hover-over shows me the text and stuff that changed), but it doesn't show up on the form.[Edited on September 8, 2009 at 5:30 PM. Reason : .]
9/8/2009 5:30:22 PM
How are you calling your form control from the another class? I got it to work by using: obj.LblLabel.Text = textBox1.Text;You may need to show how you're trying to call this method, cause it works fine for me.
9/8/2009 6:50:36 PM
^ I have mainForm parent; public mainForm mainForm { get { return parent; } set { parent = value; } }in Class1and in Form1 I callClass1 PoS = new Class1();PoS.mainForm = this;Like I said, if I put public string LblLabel{ get { return lblLabel.Text; } set { lblLabel.Text = value; }}in Form1 and set it from Class1, it works just fine, but I don't want to set lblLabel.Text, I want to set lblLabel (or, i guess, set all the properties of lblLabel at the same time to the same as some other Label)
9/8/2009 6:59:42 PM
Nevermind, I'm dumb as shit.What I'm doing works, I just need to useparent.label.Text = newLabel.Textin Class1 instead of what I was doing, which wasparent.label = newLabel^^ I think that's what you were telling me
9/8/2009 7:38:03 PM