Example #1
0
        private void InitCustomColors(Dictionary <KnownColors, Color> rgbTable)
        {
            PanelEx panel = this._basePanel as PanelEx;

            if (panel != null)
            {
                rgbTable[KnownColors.BorderColor]                       = panel.CustomColors.BorderColor;
                rgbTable[KnownColors.InnerBorderColor]                  = panel.CustomColors.InnerBorderColor;
                rgbTable[KnownColors.PanelCaptionCloseIcon]             = panel.CustomColors.CaptionCloseIcon;
                rgbTable[KnownColors.PanelCaptionExpandIcon]            = panel.CustomColors.CaptionExpandIcon;
                rgbTable[KnownColors.PanelCaptionGradientBegin]         = panel.CustomColors.CaptionGradientBegin;
                rgbTable[KnownColors.PanelCaptionGradientEnd]           = panel.CustomColors.CaptionGradientEnd;
                rgbTable[KnownColors.PanelCaptionGradientMiddle]        = panel.CustomColors.CaptionGradientMiddle;
                rgbTable[KnownColors.PanelCaptionSelectedGradientBegin] = panel.CustomColors.CaptionSelectedGradientBegin;
                rgbTable[KnownColors.PanelCaptionSelectedGradientEnd]   = panel.CustomColors.CaptionSelectedGradientEnd;
                rgbTable[KnownColors.PanelContentGradientBegin]         = panel.CustomColors.ContentGradientBegin;
                rgbTable[KnownColors.PanelContentGradientEnd]           = panel.CustomColors.ContentGradientEnd;
                rgbTable[KnownColors.PanelCaptionText]                  = panel.CustomColors.CaptionText;
                rgbTable[KnownColors.PanelCollapsedCaptionText]         = panel.CustomColors.CollapsedCaptionText;
            }

            ExpondPanel expondPanel = this._basePanel as ExpondPanel;

            if (expondPanel != null)
            {
                rgbTable[KnownColors.BorderColor]                         = expondPanel.CustomColors.BorderColor;
                rgbTable[KnownColors.InnerBorderColor]                    = expondPanel.CustomColors.InnerBorderColor;
                rgbTable[KnownColors.ExpondPanelBackColor]                = expondPanel.CustomColors.BackColor;
                rgbTable[KnownColors.ExpondPanelCaptionCloseIcon]         = expondPanel.CustomColors.CaptionCloseIcon;
                rgbTable[KnownColors.ExpondPanelCaptionExpandIcon]        = expondPanel.CustomColors.CaptionExpandIcon;
                rgbTable[KnownColors.ExpondPanelCaptionText]              = expondPanel.CustomColors.CaptionText;
                rgbTable[KnownColors.ExpondPanelCaptionGradientBegin]     = expondPanel.CustomColors.CaptionGradientBegin;
                rgbTable[KnownColors.ExpondPanelCaptionGradientEnd]       = expondPanel.CustomColors.CaptionGradientEnd;
                rgbTable[KnownColors.ExpondPanelCaptionGradientMiddle]    = expondPanel.CustomColors.CaptionGradientMiddle;
                rgbTable[KnownColors.ExpondPanelFlatCaptionGradientBegin] = expondPanel.CustomColors.FlatCaptionGradientBegin;
                rgbTable[KnownColors.ExpondPanelFlatCaptionGradientEnd]   = expondPanel.CustomColors.FlatCaptionGradientEnd;
                rgbTable[KnownColors.ExpondPanelPressedCaptionBegin]      = expondPanel.CustomColors.CaptionPressedGradientBegin;
                rgbTable[KnownColors.ExpondPanelPressedCaptionEnd]        = expondPanel.CustomColors.CaptionPressedGradientEnd;
                rgbTable[KnownColors.ExpondPanelPressedCaptionMiddle]     = expondPanel.CustomColors.CaptionPressedGradientMiddle;
                rgbTable[KnownColors.ExpondPanelCheckedCaptionBegin]      = expondPanel.CustomColors.CaptionCheckedGradientBegin;
                rgbTable[KnownColors.ExpondPanelCheckedCaptionEnd]        = expondPanel.CustomColors.CaptionCheckedGradientEnd;
                rgbTable[KnownColors.ExpondPanelCheckedCaptionMiddle]     = expondPanel.CustomColors.CaptionCheckedGradientMiddle;
                rgbTable[KnownColors.ExpondPanelSelectedCaptionBegin]     = expondPanel.CustomColors.CaptionSelectedGradientBegin;
                rgbTable[KnownColors.ExpondPanelSelectedCaptionEnd]       = expondPanel.CustomColors.CaptionSelectedGradientEnd;
                rgbTable[KnownColors.ExpondPanelSelectedCaptionMiddle]    = expondPanel.CustomColors.CaptionSelectedGradientMiddle;
                rgbTable[KnownColors.ExpondPanelSelectedCaptionText]      = expondPanel.CustomColors.CaptionSelectedText;
            }
        }
Example #2
0
        private static void DrawBorders(Graphics graphics, ExpondPanel expondPanel)
        {
            if (expondPanel.ShowBorder == true)
            {
                using (GraphicsPath graphicsPath = new GraphicsPath())
                {
                    using (Pen borderPen = new Pen(expondPanel.PanelColors.BorderColor, StaticResource.BorderThickness))
                    {
                        Rectangle captionRectangle = expondPanel.CaptionRectangle;
                        Rectangle borderRectangle  = captionRectangle;

                        if (expondPanel.Expand == true)
                        {
                            borderRectangle = expondPanel.ClientRectangle;

                            graphics.DrawLine(
                                borderPen,
                                captionRectangle.Left,
                                captionRectangle.Top + captionRectangle.Height - StaticResource.BorderThickness,
                                captionRectangle.Left + captionRectangle.Width,
                                captionRectangle.Top + captionRectangle.Height - StaticResource.BorderThickness);
                        }

                        ExpondPanelList expondPanelList = expondPanel.Parent as ExpondPanelList;
                        if ((expondPanelList != null) && (expondPanelList.Dock == DockStyle.Fill))
                        {
                            PanelEx     panel             = expondPanelList.Parent as PanelEx;
                            ExpondPanel parentExpondPanel = expondPanelList.Parent as ExpondPanel;
                            if (((panel != null) && (panel.Padding == new Padding(0))) ||
                                ((parentExpondPanel != null) && (parentExpondPanel.Padding == new Padding(0))))
                            {
                                if (expondPanel.Top != 0)
                                {
                                    graphicsPath.AddLine(
                                        borderRectangle.Left,
                                        borderRectangle.Top,
                                        borderRectangle.Left + captionRectangle.Width,
                                        borderRectangle.Top);
                                }

                                // Left vertical borderline
                                graphics.DrawLine(borderPen,
                                                  borderRectangle.Left,
                                                  borderRectangle.Top,
                                                  borderRectangle.Left,
                                                  borderRectangle.Top + borderRectangle.Height);

                                // Right vertical borderline
                                graphics.DrawLine(borderPen,
                                                  borderRectangle.Left + borderRectangle.Width - StaticResource.BorderThickness,
                                                  borderRectangle.Top,
                                                  borderRectangle.Left + borderRectangle.Width - StaticResource.BorderThickness,
                                                  borderRectangle.Top + borderRectangle.Height);
                            }
                            else
                            {
                                // Upper horizontal borderline only at the top expondPanel
                                if (expondPanel.Top == 0)
                                {
                                    graphicsPath.AddLine(
                                        borderRectangle.Left,
                                        borderRectangle.Top,
                                        borderRectangle.Left + borderRectangle.Width,
                                        borderRectangle.Top);
                                }

                                // Left vertical borderline
                                graphicsPath.AddLine(
                                    borderRectangle.Left,
                                    borderRectangle.Top,
                                    borderRectangle.Left,
                                    borderRectangle.Top + borderRectangle.Height);

                                //Lower horizontal borderline
                                graphicsPath.AddLine(
                                    borderRectangle.Left,
                                    borderRectangle.Top + borderRectangle.Height - StaticResource.BorderThickness,
                                    borderRectangle.Left + borderRectangle.Width - StaticResource.BorderThickness,
                                    borderRectangle.Top + borderRectangle.Height - StaticResource.BorderThickness);

                                // Right vertical borderline
                                graphicsPath.AddLine(
                                    borderRectangle.Left + borderRectangle.Width - StaticResource.BorderThickness,
                                    borderRectangle.Top,
                                    borderRectangle.Left + borderRectangle.Width - StaticResource.BorderThickness,
                                    borderRectangle.Top + borderRectangle.Height);
                            }
                        }
                        else
                        {
                            // Upper horizontal borderline only at the top expondPanel
                            if (expondPanel.Top == 0)
                            {
                                graphicsPath.AddLine(
                                    borderRectangle.Left,
                                    borderRectangle.Top,
                                    borderRectangle.Left + borderRectangle.Width,
                                    borderRectangle.Top);
                            }

                            // Left vertical borderline
                            graphicsPath.AddLine(
                                borderRectangle.Left,
                                borderRectangle.Top,
                                borderRectangle.Left,
                                borderRectangle.Top + borderRectangle.Height);

                            //Lower horizontal borderline
                            graphicsPath.AddLine(
                                borderRectangle.Left,
                                borderRectangle.Top + borderRectangle.Height - StaticResource.BorderThickness,
                                borderRectangle.Left + borderRectangle.Width - StaticResource.BorderThickness,
                                borderRectangle.Top + borderRectangle.Height - StaticResource.BorderThickness);

                            // Right vertical borderline
                            graphicsPath.AddLine(
                                borderRectangle.Left + borderRectangle.Width - StaticResource.BorderThickness,
                                borderRectangle.Top,
                                borderRectangle.Left + borderRectangle.Width - StaticResource.BorderThickness,
                                borderRectangle.Top + borderRectangle.Height);
                        }
                    }
                    using (Pen borderPen = new Pen(expondPanel.PanelColors.BorderColor, StaticResource.BorderThickness))
                    {
                        graphics.DrawPath(borderPen, graphicsPath);
                    }
                }
            }
        }