/// <summary> /// Vrátí textovou mapu struktury daného controlu, včetně jeho Child Controlů. /// </summary> /// <param name="anything">Cokoliv, metoda se pokusí detekovat o co jde a najít v tom nějaký <see cref="WinForm.Control"/></param> /// <param name="delimiter">Oddělovač sloupců, default = dvě mezery</param> /// <param name="withTopParent">Vyhledat linku k Top parentu? Default je false</param> /// <returns></returns> public static string GetObjectStructure(object anything, string delimiter = null, bool withTopParent = false) { anything = _GetControlFrom(anything); if (anything is null) { return("NULL"); } if (!(anything is WinForm.Control control)) { return(_GetFullTypeName(anything) + " does not recognized as System.Windows.Form.Control"); } var items = new List <ItemInfo>(); _AddMapItems(items, control, "0", 0, Point.Empty); return(ItemInfo.CreateMap(items, delimiter)); }