コード例 #1
0
ファイル: BaseForm.cs プロジェクト: mhp89/LivingSmart
        /// <summary>
        /// Lukker et bestemt DropIn
        /// </summary>
        public void CloseDropIn(BaseDropIn baseDropIn)
        {
            var dropInX = baseDropIn.Parent.Location.X;

            pnlMasterContent.Controls.Remove(baseDropIn.Parent);
            DropIns.Remove(baseDropIn);

            foreach (var dropIn in DropIns)
            {
                if (dropIn.Parent.Location.X < dropInX)
                {
                    dropIn.Parent.Location = new Point(dropIn.Parent.Location.X + 50, dropIn.Parent.Location.Y);
                }
            }

            Refresh();
        }
コード例 #2
0
ファイル: BaseForm.cs プロジェクト: mhp89/LivingSmart
        /// <summary>
        /// Tilføjer et DropIn til vinduet, og placerer det foran alt andet
        /// </summary>
        public void ShowDropIn(BaseDropIn view)
        {
            var viewWidth = view.Width;

            //Hvis der allerede er et DropIn af typen man
            //forsøger at vise skal det ignores
            foreach (var dropIn in DropIns)
            {
                if (dropIn.GetDropInId() == view.GetDropInId())
                {
                    return;
                }
            }

            //Flyt de eksisterende lidt ud, så man kan se dem under den øverste
            foreach (var dropIn in DropIns)
            {
                dropIn.Parent.Location = new Point(
                    dropIn.Parent.Location.X - 50, dropIn.Parent.Location.Y);
            }

            var dropInHolder = new Panel
            {
                BackColor = SmartColor.Light,
                Anchor    = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right,
                Size      = new Size(viewWidth, pnlMasterContent.Height)
            };

            pnlMasterContent.Controls.Add(dropInHolder);

            //Tilføjer dropin'et til listen
            DropIns.Add(view);

            //Tilføjet dropin'et til holderen
            dropInHolder.Controls.Add(view);
            //Får view'et til at fylde hele holderen
            view.Dock = DockStyle.Fill;

            //Flytter holderen så den sidder i højre side
            dropInHolder.Location = new Point(
                pnlMasterContent.Width - dropInHolder.Width, dropInHolder.Top);
            dropInHolder.BringToFront();
        }