Ich habe einige Code, der generell alle Steuerelemente in einem Formular erhalten und sie in einer Liste platzieren wird. Hier ist ein Teil des Codes:
private List GetControlList(Form parentForm)
{
List controlList = new List();
AddControlsToList(parentForm.Controls, controlList);
return controlList;
}
private void AddControlsToList(Control.ControlCollection rootControls, List controlList)
{
foreach (Control c in rootControls)
{
controlList.Add(c);
if (c.HasChildren)
AddControlsToList(c.Controls, controlList);
//
}
}
Also kann ich nur c.HasChildren verwenden, um zu überprüfen, ob es noch weitere untergeordnete Steuerelemente von diesem Stammsteuerelement gibt.
Was ist mit einem MenuStrip, ToolStrip und StatusStrip? Wie erhalte ich alle Steuerelemente, die sich generell in diesen Steuerelementen befinden? Z.B. MenuStripItem
Ich weiß, dass ich versuchen könnte, den c.GetType() == typeof(MenuStrip) zu testen, aber ich hatte gehofft, keine spezifischen Typentests durchführen zu müssen.
Wenn ich mehr Informationen geben muss, fragen Sie bitte.
Vielen Dank