Пример #1
0
 protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e)
 {
     if (e.Item.Owner is ContextMenuStrip)
     {
         if (e.Item.Selected)
         {
             e.ArrowColor = LayoutSetting.GetForeColorHover(LayoutSetting.Theme);
         }
         else
         {
             e.ArrowColor = LayoutSetting.GetForeColorCommon(LayoutSetting.Theme);
         }
     }
     else
     {
         if (e.Item.Selected || e.Item.Pressed)
         {
             e.ArrowColor = LayoutSetting.GetForeColorHover(LayoutSetting.Theme);
         }
         else
         {
             e.ArrowColor = LayoutSetting.GetForeColorCommon(LayoutSetting.Theme);
         }
     }
     base.OnRenderArrow(e);
 }
Пример #2
0
 protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
 {
     if (e.ToolStrip is ContextMenuStrip)
     {
         if (e.Item.Selected)
         {
             e.TextColor = LayoutSetting.GetForeColorHover(LayoutSetting.Theme);
         }
         else
         {
             e.TextColor = LayoutSetting.GetForeColorCommon(LayoutSetting.Theme);
         }
     }
     else
     {
         if (e.Item.Selected || e.Item.Pressed)
         {
             e.TextColor = LayoutSetting.GetForeColorHover(LayoutSetting.Theme);
         }
         else
         {
             e.TextColor = LayoutSetting.GetForeColorCommon(LayoutSetting.Theme);
         }
     }
     base.OnRenderItemText(e);
 }
Пример #3
0
        protected override void OnMouseLeave(EventArgs e)
        {
            base.OnMouseLeave(e);

            if (LayoutSetting.IsEditMode)
            {
                return;
            }
            BackColor = Color.Transparent;
            ForeColor = LayoutSetting.GetForeColorCommon(LayoutSetting.Theme);
        }
Пример #4
0
 protected override void OnDrawItem(DrawListViewItemEventArgs e)
 {
     if (e.Item.Focused)
     {
         e.Item.BackColor = LayoutSetting.GetBackColorHover(LayoutSetting.Theme);
         e.Item.ForeColor = LayoutSetting.GetForeColorHover(LayoutSetting.Theme);
     }
     else
     {
         e.Item.BackColor = LayoutSetting.GetBackColorCommon(LayoutSetting.Theme);
         e.Item.ForeColor = LayoutSetting.GetForeColorCommon(LayoutSetting.Theme);
     }
     e.DrawBackground();
     e.DrawText(TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter);
 }
Пример #5
0
        protected override void OnHandleCreated(EventArgs e)
        {
            base.OnHandleCreated(e);

            if (Runtime.DesignMode)
            {
                return;
            }

            _doccomment.Resize += delegate(object sender, EventArgs ex)
            {
                //var renderer = ToolStripRenderer as ThemeToolStripRenderer;
                //LineColor = renderer.ColorTable.ToolStripGradientBegin;
                //HelpBackColor = renderer.ColorTable.ToolStripGradientBegin;

                LineColor         = LayoutSetting.GetBackColorCommon(LayoutSetting.Theme);
                HelpBackColor     = LayoutSetting.GetBackColorCommon(LayoutSetting.Theme);
                CategoryForeColor = LayoutSetting.GetForeColorCommon(LayoutSetting.Theme);
                SelectedItemWithFocusBackColor = LayoutSetting.GetBackColorHover(LayoutSetting.Theme);
                SelectedItemWithFocusForeColor = LayoutSetting.GetForeColorHover(LayoutSetting.Theme);
            };
            _doccomment.Height++;
            _doccomment.Height--;
        }
Пример #6
0
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);

            if (BackgroundImage != null)
            {
                ImageAnimator.UpdateFrames(BackgroundImage);
                e.Graphics.DrawImage(BackgroundImage, 0, 0, Width, Height);
            }

            // 에디트 모드에서 이미지가 없을시 파란색 표기
            else if (LayoutSetting.IsEditMode)
            {
                using (var b = new SolidBrush(Color.FromArgb(50, Color.Blue)))
                {
                    e.Graphics.FillRectangle(b, new Rectangle(0, 0, Width, Height));
                }
            }

            // Text 표기
            if (!string.IsNullOrWhiteSpace(TextContent))
            {
                var color = LayoutSetting.GetForeColorCommon(LayoutSetting.Theme);
                using (var b = new SolidBrush(color))
                {
                    e.Graphics.DrawString(TextContent, TextFont, b, ClientRectangle, GetStringFormat());
                }
            }

            // 마우스 오버 표기
            if (_isMouseOver)
            {
                var color = Color.FromArgb(50, LayoutSetting.GetBackColorHover(LayoutSetting.Theme));
                using (var b = new SolidBrush(color))
                {
                    e.Graphics.FillRectangle(b, 0, 0, Width, Height);
                }
            }

            // 에디트 모드에서 Resize, 선택시 빨간색 표기
            if (LayoutSetting.IsEditMode)
            {
                using (var b = new SolidBrush(Color.Red))
                    using (var p = new Pen(Color.Red, 2))
                    {
                        var     bottom = ResizeRec;
                        Point[] locs   = new Point[]
                        {
                            new Point(bottom.X, bottom.Y + bottom.Height),
                            new Point(bottom.X + bottom.Width, bottom.Y),
                            new Point(bottom.X + bottom.Width, bottom.Y + bottom.Height)
                        };
                        e.Graphics.FillPolygon(b, locs);
                        e.Graphics.FillRectangle(b, MoveRec);
                        e.Graphics.DrawRectangle(p, new Rectangle(0, 0, Width, Height));
                    }

                if (IsSelected)
                {
                    using (var b = new SolidBrush(Color.FromArgb(100, Color.Red)))
                    {
                        e.Graphics.FillRectangle(b, 0, 0, Width, Height);
                    }
                }
            }
        }