Example #1
0
        /// <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));
        }