Пример #1
0
        void CreateDesigner(bool New, string XmlCode)
        {
            ModUi.ResetEventHandlers();
            //Create a new DesignSurface
            ModDesignSurface MDS = new ModDesignSurface();

            MDS.SetUpSelectionService();

            MDS.BeginLoad(typeof(Form));

            IDH = (IDesignerHost)MDS.GetService(typeof(IDesignerHost));
            try
            {
                IDH.RemoveService(typeof(ITypeDescriptorFilterService));
            }catch {}
            try
            {
                IDH.RemoveService(typeof(IToolboxService));
            }catch {}
            try
            {
                IDH.RemoveService(typeof(PropertyGrid));
            }catch { }

            //Read XML and update the Form control
            if (!New)
            {
                ModCodeAndControlHolder Code = ModUiTools.XmlToCode(XmlCode, (Form)IDH.RootComponent);
            }

            //Panel P = (Panel)IDH.CreateComponent(typeof(Panel));
            //P.Location = ModUiTools.GetLocationDefinition(20, 20);
            //P.Size = ModUiTools.GetSizeDefinition(100, 100);
            //Button B = (Button)IDH.CreateComponent(typeof(Button), "TestButton");
            //B.Text = "123";
            //P.Controls.Add(B);
            //P.Parent = (Form)IDH.RootComponent;

            try
            {
                this.BaseSplit.Panel2.Controls.RemoveAt(0);
            }
            catch { }
            Control C = MDS.View as Control;

            C.Parent = this.BaseSplit.Panel2;
            C.Dock   = DockStyle.Fill;



            IDH.AddService(typeof(ITypeDescriptorFilterService), new CustomFilterService());

            ModToolBox TB = new ModToolBox();

            TB.Parent = this.ToolboxTab;
            TB.Dock   = DockStyle.Fill;
            IDH.AddService(typeof(IToolboxService), TB);

            PropertyGrid PG = new PropertyGrid();

            PG.Parent = this.PropertiesPropertySubTab;
            PG.Dock   = DockStyle.Fill;

            IDH.AddService(typeof(PropertyGrid), PG);

            // Use ComponentChangeService to announce changing of the
            // Form's Controls collection */
            IComponentChangeService ICC = (IComponentChangeService)IDH.GetService(typeof(IComponentChangeService));

            ICC.OnComponentChanging(IDH.RootComponent, TypeDescriptor.GetProperties(IDH.RootComponent)["Controls"]);
        }
Пример #2
0
        void CreateDesigner(bool New, string XmlCode)
        {
            ModUi.ResetEventHandlers();
            //Create a new DesignSurface
            ModDesignSurface MDS = new ModDesignSurface();
            MDS.SetUpSelectionService();

            MDS.BeginLoad(typeof(Form));

            IDH = (IDesignerHost)MDS.GetService(typeof(IDesignerHost));
            try
            {
                IDH.RemoveService(typeof(ITypeDescriptorFilterService));
            }catch{}
            try
            {
                IDH.RemoveService(typeof(IToolboxService));
            }catch{}
            try
            {
                IDH.RemoveService(typeof(PropertyGrid));
            }catch { }

            //Read XML and update the Form control
            if (!New)
            {
                ModCodeAndControlHolder Code = ModUiTools.XmlToCode(XmlCode, (Form)IDH.RootComponent);
            }

            //Panel P = (Panel)IDH.CreateComponent(typeof(Panel));
            //P.Location = ModUiTools.GetLocationDefinition(20, 20);
            //P.Size = ModUiTools.GetSizeDefinition(100, 100);
            //Button B = (Button)IDH.CreateComponent(typeof(Button), "TestButton");
            //B.Text = "123";
            //P.Controls.Add(B);
            //P.Parent = (Form)IDH.RootComponent;

            try
            {
                this.BaseSplit.Panel2.Controls.RemoveAt(0);
            }
            catch { }
            Control C = MDS.View as Control;
            C.Parent = this.BaseSplit.Panel2;
            C.Dock = DockStyle.Fill;

            IDH.AddService(typeof(ITypeDescriptorFilterService), new CustomFilterService());

            ModToolBox TB = new ModToolBox();
            TB.Parent = this.ToolboxTab;
            TB.Dock = DockStyle.Fill;
            IDH.AddService(typeof(IToolboxService), TB);

            PropertyGrid PG = new PropertyGrid();
            PG.Parent = this.PropertiesPropertySubTab;
            PG.Dock = DockStyle.Fill;

            IDH.AddService(typeof(PropertyGrid), PG);

            // Use ComponentChangeService to announce changing of the
            // Form's Controls collection */
            IComponentChangeService ICC = (IComponentChangeService)IDH.GetService(typeof(IComponentChangeService));
            ICC.OnComponentChanging(IDH.RootComponent, TypeDescriptor.GetProperties(IDH.RootComponent)["Controls"]);
        }