List <ToolStripItem> CreateToolstripItems(IPropertyList obj)
        {
            List <ToolStripItem> list = null;

            if (obj != null)
            {
                var pnames = obj.PropertyNames;
                if (pnames != null)
                {
                    list = new List <ToolStripItem>();
                    list.Add(new ToolStripLabel(obj.ToString() + ":")
                    {
                        Font = new Font(Control.DefaultFont, FontStyle.Bold)
                    });

                    foreach (var pname in pnames)
                    {
                        var pi = obj.GetType().GetProperty(pname);
                        if (pi != null)
                        {
                            var item = CreateToolstrpItem(obj, pi);
                            list.Add(item);
                        }
                    }
                    list.Add(new ToolStripSeparator());
                }
            }

            return(list);
        }