In VB6 c'era l'array associativo dei controlli di una form, che permetteva di fare una cosa del tipo:
Me.Controls("txtNome")
e poi accedere alle varie proprietà.
Ho tentato di fare la stessa cosa in C#, ma non ho trovato un modo equivalente, se non con questa funzione:
private Control GetControl(Control container, string controlName)
{
System.Type t = container.GetType();
return t.InvokeMember(controlName, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance, null, container, new object[] {}) as Control;
}
Poi con
(TextBox)GetControl(this, "txtNome")
posso accedere alle varie proprietà.