Пример #1
0
        public void RemoveControl(GVCore ctr)
        {
            for (int i = 0; i < gvControls.Count; i++)
            {
                ControlRecord cr = gvControls[i];
                if (cr.Controller == ctr)
                {
                    if (cr.Controller.View.Visible)
                    {
                        cr.Controller.ExecuteMessage(MsgViewWillHide);
                    }
                    cr.Controller.Parent      = null;
                    cr.Controller.View.Parent = null;
                    panel1.Controls.Remove(cr.Controller.View);
                    gvControls.RemoveAt(i);
                    break;
                }
            }

            if (gvControls.Count > 0)
            {
                ControlRecord cr = LastControl;
                cr.Controller.View.Visible = true;
                LayoutControl(cr.Controller, cr.Align, cr.OriginalSize);
            }
        }
Пример #2
0
        public void InitialLayoutControl(GVCore controller, GVControlAlign align, Size OriginalSize)
        {
            Control child = controller.View;

            if (align == GVControlAlign.Center)
            {
                Size cSize = new Size(Math.Min(OriginalSize.Width, panel1.Size.Width),
                                      Math.Min(OriginalSize.Height, panel1.Size.Height));
                Size pSize = panel1.Size;
                child.Location    = new Point(pSize.Width / 2 - cSize.Width / 2, pSize.Height / 2 - cSize.Height / 2);
                child.Size        = cSize;
                child.Anchor      = AnchorStyles.None;
                panel1.AutoScroll = false;
            }
            else if (align == GVControlAlign.Fill)
            {
                child.Location    = new Point(0, 0);
                child.Size        = panel1.Size;
                panel1.AutoScroll = false;
                child.Anchor      = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
            }
            else if (align == GVControlAlign.Scroll)
            {
                child.Location         = new Point(0, 0);
                child.Anchor           = AnchorStyles.Left | AnchorStyles.Top;
                child.AutoScrollOffset = new Point(0, 0);
                panel1.AutoScroll      = true;
                panel1.Refresh();
            }
        }
Пример #3
0
        public void AddControl(GVCore core, GVControlAlign align)
        {
            ControlRecord cr = new ControlRecord();

            cr.Controller   = core;
            cr.Align        = align;
            cr.OriginalSize = core.View.Size;

            core.ExecuteMessage(MsgViewWillAppear);
            HideControlsAll(true);
            gvControls.Add(cr);
            core.View.Parent  = panel1;
            core.View.Visible = true;
            panel1.Controls.Add(core.View);
            InitialLayoutControl(core, align, cr.OriginalSize);
        }
Пример #4
0
        public void LayoutControl(GVCore controller, GVControlAlign align, Size OriginalSize)
        {
            Control child = controller.View;

            if (align == GVControlAlign.Center)
            {
                Size cSize = new Size(Math.Min(OriginalSize.Width, panel1.Size.Width),
                                      Math.Min(OriginalSize.Height, panel1.Size.Height));
                Size pSize = this.Size;
                child.Location = new Point(pSize.Width / 2 - cSize.Width / 2, pSize.Height / 2 - cSize.Height / 2);
                child.Size     = cSize;
            }
            else if (align == GVControlAlign.Fill)
            {
            }
            else if (align == GVControlAlign.Scroll)
            {
            }
        }
Пример #5
0
 public GVListBanner()
 {
     InitializeComponent();
     Controller  = null;
     captionFont = new Font(SystemFonts.MenuFont, FontStyle.Bold);
 }
Пример #6
0
 public void RemoveControl(GVCore ctrl)
 {
     gvControlContainer1.RemoveControl(ctrl);
 }
Пример #7
0
 /// <summary>
 /// Displays user control in the area reserved for user content
 /// </summary>
 /// <param name="userControl"></param>
 public void AddControl(GVCore userController, GVControlAlign align)
 {
     gvControlContainer1.AddControl(userController, align);
 }