1) Yes, 2) No, 3) read elementary C# manual.
Structures "
struct
" have nothing to do with grouping of control. This is pretty much the same way of encapsulation as class, despite of many fundamental differences (value, not reference type, nothing related to OOP except encapsulation/visibility). And dictionary is a special class used for... blah-blah-blah. If element of structure are integers and doubles and strings, you don't think they will do something which you can characterize as "simultaneous". Why such a strange fantasy about controls?
Instead, put your controls as children onto some other control as panel and you'll be done. Move the parent panel; the controls will be moved with it.
[EDIT]
Answering a follow-up question "how"?
Shall we use
Panel
or
GropBox
? Let's assume Panel. Desing-time: select a panel, in toolbox, select a type of a child control, click mouse on selected panel -- an instance of child control becomes a child of the panel. I recommend using nested panels and dock everything using
Padding
.
Code:
Panel parent = new Panel();
Label label = new Label();
label.Text = "&Blah-blah";
parent.Children.Add(label);