David,
>I actually use my object in a few other objects - labels, buttons, textbox, optiongroups, etc., and it's really cool, because I can put all sorts of neat logic into it very generically. For example, if the button gets too small, I can resize the font.To me it just doesn't make sense to resize these kinds of items on a form. But that's purely my preference. I don't know of any mainstream application that has that sort of behavior.
>You could still do this all with the resize method, but the great thing about putting it into a single object is if I decide to change the behavior, I only need to do it once, rather than in each class.You still don't have to hold object references for the long term. The resize object could just iterate the thisform.Objects[] collection.