public virtual Control this[string key] { get { int index = IndexOfKey (key); if (index >= 0) return this[index]; return null; } }