protected override void OnPaint(PaintEventArgs e) { Graphics _graphics = e.Graphics; _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.TextRenderingHint = _textRendererHint; Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); _controlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); _graphics.FillRectangle(new SolidBrush(BackColor), new Rectangle(ClientRectangle.X - 1, ClientRectangle.Y - 1, ClientRectangle.Width + 1, ClientRectangle.Height + 1)); _graphics.SetClip(_controlGraphicsPath); Color _backColor = Enabled ? _backColorState.Enabled : _backColorState.Disabled; VisualBackgroundRenderer.DrawBackground(_graphics, _backColor, BackgroundImage, _mouseState, _clientRectangle, Border); Rectangle _buttonRectangle = new Rectangle(new Point(Width - _buttonWidth, 0), new Size(_buttonWidth, Height)); Rectangle _textBoxRectangle = new Rectangle(0, 0, Width - _buttonWidth, Height); ConfigureSeparator(_buttonRectangle); DrawContent(_graphics, _textBoxRectangle); DrawButton(_graphics, _buttonRectangle); _graphics.ResetClip(); DrawWatermark(_graphics, _textBoxRectangle); VisualBorderRenderer.DrawBorderStyle(_graphics, _border, _controlGraphicsPath, _mouseState); }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics _graphics = e.Graphics; _graphics.Clear(Parent.BackColor); _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.TextRenderingHint = TextRenderingHint; Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); ControlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); _graphics.FillRectangle(new SolidBrush(BackColor), new Rectangle(ClientRectangle.X - 1, ClientRectangle.Y - 1, ClientRectangle.Width + 1, ClientRectangle.Height + 1)); Color _backColor = GDI.GetBackColorState(Enabled, BackColorState.Enabled, BackColorState.Hover, BackColorState.Pressed, BackColorState.Disabled, MouseState); e.Graphics.SetClip(ControlGraphicsPath); VisualBackgroundRenderer.DrawBackground(e.Graphics, _backColor, BackgroundImage, MouseState, _clientRectangle, _border); Color _textColor = Enabled ? ForeColor : ForeColorDisabled; VisualControlRenderer.DrawInternalContent(e.Graphics, ClientRectangle, Text, Font, _textColor, Image, _textImageRelation); VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, ControlGraphicsPath, MouseState); DrawAnimation(e.Graphics); e.Graphics.ResetClip(); }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics _graphics = e.Graphics; _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.TextRenderingHint = TextStyle.TextRenderingHint; Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); ControlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); Color _backColor = Enabled ? _controlColorState.Enabled : _controlColorState.Disabled; _graphics.SetClip(ControlGraphicsPath); VisualBackgroundRenderer.DrawBackground(e.Graphics, _backColor, BackgroundImage, MouseState, _clientRectangle, Border); // Determines button/toggle state Point _startPoint = new Point(0 + 2, (_clientRectangle.Height / 2) - (_buttonSize.Height / 2)); Point _endPoint = new Point(_clientRectangle.Width - _buttonSize.Width - 2, (_clientRectangle.Height / 2) - (_buttonSize.Height / 2)); Point _buttonLocation = Toggle ? _endPoint : _startPoint; _buttonRectangle = new Rectangle(_buttonLocation, _buttonSize); DrawToggleText(_graphics); Color _buttonColor = ControlColorState.BackColorState(ButtonColorState, Enabled, MouseState); VisualBackgroundRenderer.DrawBackground(e.Graphics, _buttonColor, _buttonRectangle, _buttonBorder); VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, ControlGraphicsPath, MouseState); _graphics.ResetClip(); }
protected override void OnPaint(PaintEventArgs e) { Graphics _graphics = e.Graphics; _graphics.Clear(Parent.BackColor); _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.TextRenderingHint = _textRendererHint; _graphics.FillRectangle(new SolidBrush(BackColor), ClientRectangle); Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); _controlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); Color _textColor = Enabled ? _foreColor : _textDisabledColor; Color _backColor = Enabled ? _backColorState.Enabled : _backColorState.Disabled; _graphics.FillRectangle(new SolidBrush(BackColor), ClientRectangle); _graphics.SetClip(_controlGraphicsPath); VisualBackgroundRenderer.DrawBackground(_graphics, _backColor, BackgroundImage, _mouseState, _clientRectangle, Border); Point _textBoxLocation; Point _buttonLocation; Size _buttonSize = new Size(_buttonWidth, Height); if (_buttonHorizontal == Alignment.Horizontal.Right) { _buttonLocation = new Point(Width - _buttonWidth, 0); _textBoxLocation = new Point(0, 0); } else { _buttonLocation = new Point(0, 0); _textBoxLocation = new Point(_buttonWidth, 0); } Rectangle _buttonRectangle = new Rectangle(_buttonLocation, _buttonSize); Rectangle _textBoxRectangle = new Rectangle(_textBoxLocation.X, _textBoxLocation.Y, Width - _buttonWidth, Height); DrawButton(_graphics, _buttonRectangle); DrawSeparator(_buttonRectangle); StringFormat _stringFormat = new StringFormat { Alignment = _textAlignment, LineAlignment = StringAlignment.Center }; ConfigureDirection(_textBoxRectangle, _buttonRectangle); _graphics.DrawString(Text, Font, new SolidBrush(_textColor), _textBoxRectangle, _stringFormat); if (Text.Length == 0) { Watermark.DrawWatermark(_graphics, _textBoxRectangle, _stringFormat, _watermark); } VisualBorderRenderer.DrawBorderStyle(_graphics, _border, _controlGraphicsPath, _mouseState); _graphics.ResetClip(); }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics graphics = e.Graphics; Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); ControlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); Color _backColor = Enabled ? _backColorState.Enabled : _backColorState.Disabled; if (_textBox.BackColor != _backColor) { _textBox.BackColor = _backColor; } graphics.SetClip(ControlGraphicsPath); VisualBackgroundRenderer.DrawBackground(graphics, _backColor, BackgroundImage, MouseState, _clientRectangle, _border); _buttonRectangle = new Rectangle(_textBox.Right, _border.Thickness, Width - _textBox.Right - _border.Thickness, Height); _imageRectangle = new Rectangle(0, 0, _imageWidth, Height); if (!_textBox.Multiline) { if (_borderImage.Visible) { _textBox.Location = new Point(_border.BorderCurve + _imageRectangle.Width, _textBox.Location.Y); DrawImage(graphics); if (_borderButton.Visible) { DrawButton(graphics); } } else { _textBox.Location = new Point(_border.BorderCurve, _textBox.Location.Y); if (_borderButton.Visible) { DrawButton(graphics); } } } graphics.ResetClip(); if (_watermark.Visible) { DrawWaterMark(); } VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, ControlGraphicsPath, MouseState); }
protected override void OnPaint(PaintEventArgs e) { try { Color backColor = ControlColorState.BackColorState(backColorState, Enabled, MouseState); VisualBackgroundRenderer.RenderBackground(e.Graphics, backColor, BackgroundImage, backgroundLayout, ClientRectangle); VisualTileRenderer.RenderTile(e.Graphics, type, ClientRectangle, Image, Text, Font, Enabled, MouseState, TextStyle, offset); } catch (Exception exception) { Logger.WriteDebug(exception); } base.OnPaint(e); }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics graphics = e.Graphics; graphics.SmoothingMode = SmoothingMode.HighQuality; Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); ControlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); Color _backColor = Enabled ? BackColorState.Enabled : BackColorState.Disabled; VisualBackgroundRenderer.DrawBackground(e.Graphics, _backColor, BackgroundImage, MouseState, _clientRectangle, Border); VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, ControlGraphicsPath, MouseState); }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); try { Graphics _graphics = e.Graphics; _graphics.Clear(Parent.BackColor); _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.TextRenderingHint = TextStyle.TextRenderingHint; Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); ControlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); _graphics.FillRectangle(new SolidBrush(BackColor), new Rectangle(ClientRectangle.X - 1, ClientRectangle.Y - 1, ClientRectangle.Width + 1, ClientRectangle.Height + 1)); Color _backColor = ControlColorState.BackColorState(BackColorState, Enabled, MouseState); e.Graphics.SetClip(ControlGraphicsPath); VisualBackgroundRenderer.DrawBackground(e.Graphics, _backColor, BackgroundImage, MouseState, _clientRectangle, _border); Color _textColor = Enabled ? ForeColor : TextStyle.Disabled; if (_image != null) { VisualControlRenderer.DrawContent(e.Graphics, ClientRectangle, Text, Font, _textColor, _image, _image.Size, _textImageRelation); } else { StringFormat _stringFormat = new StringFormat { Alignment = _textAlignment, LineAlignment = _textLineAlignment }; VisualControlRenderer.DrawContentText(e.Graphics, ClientRectangle, Text, Font, _textColor, _stringFormat); } VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, ControlGraphicsPath, MouseState); DrawAnimation(e.Graphics); e.Graphics.ResetClip(); } catch (Exception exception) { VisualExceptionDialog.Show(exception); } }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); ControlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); Color _backColor = Enabled ? _backColorState.Enabled : _backColorState.Disabled; if (_richTextBox.BackColor != _backColor) { _richTextBox.BackColor = _backColor; } e.Graphics.SetClip(ControlGraphicsPath); VisualBackgroundRenderer.DrawBackground(e.Graphics, _backColor, BackgroundImage, MouseState, _clientRectangle, Border); VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, ControlGraphicsPath, MouseState); e.Graphics.ResetClip(); }
protected override void OnPaint(PaintEventArgs e) { Graphics _graphics = e.Graphics; _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.CompositingMode = CompositingMode.SourceOver; _graphics.CompositingQuality = CompositingQuality.Default; _graphics.InterpolationMode = InterpolationMode.Default; _graphics.PixelOffsetMode = PixelOffsetMode.Default; _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.TextRenderingHint = _textRendererHint; VisualBackgroundRenderer.DrawBackground(_graphics, _tabMenu, BackgroundImage, _mouseState, ClientRectangle, _border); DrawTabPages(_graphics); DrawSeparator(_graphics); DrawSelector(_graphics, _selectorTypes); }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics _graphics = e.Graphics; _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; _graphics.TextRenderingHint = TextStyle.TextRenderingHint; Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); ControlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); _graphics.SetClip(ControlGraphicsPath); Color _backColor = Enabled ? BackColorState.Enabled : BackColorState.Disabled; VisualBackgroundRenderer.DrawBackground(_graphics, _backColor, BackgroundImage, MouseState, _clientRectangle, _border); DrawProgress(_orientation, _graphics); VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, ControlGraphicsPath, MouseState); e.Graphics.ResetClip(); }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); try { Graphics _graphics = e.Graphics; _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.TextRenderingHint = TextStyle.TextRenderingHint; Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); ControlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); Color _backColor = ControlColorState.BackColorState(BackColorState, Enabled, MouseState); e.Graphics.SetClip(ControlGraphicsPath); VisualBackgroundRenderer.DrawBackground(e.Graphics, _backColor, BackgroundImage, MouseState, _clientRectangle, _border); if (_image != null) { Color _textColor = Enabled ? ForeColor : TextStyle.Disabled; VisualControlRenderer.DrawContent(e.Graphics, ClientRectangle, Text, Font, _textColor, _image, _image.Size, _textImageRelation); } else { VisualTextRenderer.RenderText(e.Graphics, ClientRectangle, Text, Font, Enabled, MouseState, TextStyle); } VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, ControlGraphicsPath, MouseState); DrawAnimation(e.Graphics); e.Graphics.ResetClip(); } catch (Exception exception) { Logger.WriteDebug(exception); } }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); try { Graphics graphics = e.Graphics; graphics.SmoothingMode = SmoothingMode.HighQuality; graphics.CompositingQuality = CompositingQuality.GammaCorrected; Size textArea = StringUtil.MeasureText(Text, Font, graphics); Rectangle group = ConfigureStyleBox(textArea); Rectangle title = ConfigureStyleTitleBox(textArea); _titleBoxRectangle = new Rectangle(title.X, title.Y, title.Width - 1, title.Height); Rectangle _clientRectangle = new Rectangle(group.X, group.Y, group.Width, group.Height); ControlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); graphics.FillRectangle(new SolidBrush(BackColor), _clientRectangle); Color _backColor = Enabled ? BackColorState.Enabled : BackColorState.Disabled; VisualBackgroundRenderer.DrawBackground(e.Graphics, _backColor, BackgroundImage, MouseState, group, Border); if (_borderEdge.Visible) { _borderEdge.Location = new Point(_titleBoxRectangle.X + _border.Thickness, _titleBoxRectangle.Bottom); _borderEdge.Size = new Size(Width - _border.Thickness - 1, 1); } VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, ControlGraphicsPath, MouseState); if (_boxStyle == GroupBoxStyle.Classic) { Size _newSize; if (_image != null) { _newSize = _image.Size; } else { _newSize = new Size(0, 0); } _titleBoxRectangle = new Rectangle(5, 0, title.Width - 1, title.Height); Point _titleBoxBackground = RelationManager.GetTextImageRelationLocation(graphics, _textImageRelation, new Rectangle(new Point(0, 0), _newSize), Text, Font, _titleBoxRectangle, Relation.Text); graphics.FillRectangle(new SolidBrush(BackColorState.Enabled), new Rectangle(new Point(_titleBoxBackground.X, _titleBoxBackground.Y), new Size(_titleBoxRectangle.Width, _titleBoxRectangle.Height))); } if (_image != null) { VisualControlRenderer.DrawContent(e.Graphics, _titleBoxRectangle, Text, Font, ForeColor, _image, _image.Size, _textImageRelation); } else { StringFormat _stringFormat = new StringFormat { Alignment = _textAlignment, LineAlignment = _textLineAlignment }; VisualTextRenderer.RenderText(e.Graphics, _titleBoxRectangle, Text, Font, ForeColor, _stringFormat); } } catch (Exception exception) { Logger.WriteDebug(exception); } }
protected override void OnPaint(PaintEventArgs e) { try { if (GetStyle(ControlStyles.AllPaintingInWmPaint)) { OnPaintBackground(e); } MinimumSize = new Size(0, GetPreferredSize(Size.Empty).Height); Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); GraphicsPath controlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); Color backColorState = ColorState.BackColorState(_backColor, Enabled, MouseState); e.Graphics.SetClip(controlGraphicsPath); VisualBackgroundRenderer.DrawBackground(e.Graphics, backColorState, BackgroundImage, MouseState, _clientRectangle, _border); VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, controlGraphicsPath, _mouseState); Rectangle arrowRectangle = new Rectangle(Width - _arrowSize.Width - 5, (Height / 2) - (_arrowSize.Height / 2), _arrowSize.Width, _arrowSize.Height); if (_image != null) { e.Graphics.DrawImage(_image, new Rectangle(arrowRectangle.Left - _image.Width - 2, (Height / 2) - (_image.Height / 2), _imageSize.Width, _imageSize.Height)); } VisualElementRenderer.RenderTriangle(e.Graphics, _arrowColor, _arrowDisabledColor, Enabled, _dropDownImage, arrowRectangle, Alignment.Vertical.Down); var _check = 0; Rectangle checkBoxRectangle = new Rectangle(3, (Height / 2) - 6, 12, 12); if (ShowCheckBox) { _check = 15; if (Checked) { CheckBoxRenderer.DrawCheckBox(e.Graphics, checkBoxRectangle.Location, CheckBoxState.CheckedNormal); } else { CheckBoxRenderer.DrawCheckBox(e.Graphics, checkBoxRectangle.Location, CheckBoxState.UncheckedNormal); } } Size textSize = TextManager.MeasureText(Text, Font); Rectangle textBoxRectangle = new Rectangle(2 + _check, (Height / 2) - (textSize.Height / 2), textSize.Width, textSize.Height); TextRenderer.DrawText(e.Graphics, Text, Font, textBoxRectangle, ForeColor, TextFormatFlags.Left | TextFormatFlags.VerticalCenter); if (_showFocus && _focused) { ControlPaint.DrawFocusRectangle(e.Graphics, ClientRectangle); } e.Graphics.ResetClip(); } catch { Invalidate(); } }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics graphics = e.Graphics; // graphics.Clear(Parent.BackColor); graphics.SmoothingMode = SmoothingMode.HighQuality; graphics.CompositingQuality = CompositingQuality.GammaCorrected; Size textArea = GDI.MeasureText(graphics, Text, Font); Rectangle group = ConfigureStyleBox(textArea); Rectangle title = ConfigureStyleTitleBox(textArea); _titleBoxRectangle = new Rectangle(title.X, title.Y, title.Width - 1, title.Height); Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); ControlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); graphics.FillRectangle(new SolidBrush(BackColor), _clientRectangle); Color _backColor = Enabled ? BackColorState.Enabled : BackColorState.Disabled; VisualBackgroundRenderer.DrawBackground(e.Graphics, _backColor, BackgroundImage, MouseState, group, Border); if (_borderEdge.Visible) { switch (TitleAlignment) { case TitleAlignments.Bottom: { _borderEdge.Location = new Point(_titleBoxRectangle.X + _border.Thickness, _titleBoxRectangle.Y); _borderEdge.Size = new Size(Width - _border.Thickness - 1, 1); break; } case TitleAlignments.Top: { _borderEdge.Location = new Point(_titleBoxRectangle.X + _border.Thickness, _titleBoxRectangle.Bottom); _borderEdge.Size = new Size(Width - _border.Thickness - 1, 1); break; } default: { throw new ArgumentOutOfRangeException(); } } } if (_boxStyle == GroupBoxStyle.Classic) { graphics.FillRectangle(new SolidBrush(BackColorState.Enabled), _titleBoxRectangle); graphics.DrawString(Text, Font, new SolidBrush(ForeColor), _titleBoxRectangle); } else { StringFormat stringFormat = new StringFormat { Alignment = _stringAlignment, LineAlignment = StringAlignment.Center }; graphics.DrawString(Text, Font, new SolidBrush(ForeColor), _titleBoxRectangle, stringFormat); } VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, ControlGraphicsPath, MouseState); }
protected override void OnPaint(PaintEventArgs e) { Graphics _graphics = e.Graphics; _graphics.Clear(Parent.BackColor); _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.CompositingMode = CompositingMode.SourceOver; _graphics.CompositingQuality = CompositingQuality.Default; _graphics.InterpolationMode = InterpolationMode.Default; _graphics.PixelOffsetMode = PixelOffsetMode.Default; _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.TextRenderingHint = _textRendererHint; Rectangle _clientRectangle = new Rectangle(ClientRectangle.X - 1, ClientRectangle.Y - 1, ClientRectangle.Width + 1, ClientRectangle.Height + 1); _graphics.FillRectangle(new SolidBrush(BackColor), _clientRectangle); VisualBackgroundRenderer.DrawBackground(e.Graphics, _tabMenu, BackgroundImage, _mouseState, ClientRectangle, _border); for (var tabIndex = 0; tabIndex <= TabCount - 1; tabIndex++) { ConfigureAlignmentStyle(tabIndex); // Draws the TabSelector Rectangle selectorRectangle = GDI.ApplyAnchor(_selectorAlignment, GetTabRect(tabIndex), _selectorThickness); Rectangle selectorRectangle2 = GDI.ApplyAnchor(SelectorAlignment2, GetTabRect(tabIndex), _selectorThickness); StringFormat stringFormat = new StringFormat { Alignment = _textAlignment, LineAlignment = _lineAlignment }; if (tabIndex == SelectedIndex) { // Draw selected tab _graphics.FillRectangle(new SolidBrush(_tabSelected), _tabPageRectangle); // Draw tab selector if (_selectorVisible) { _graphics.FillRectangle(new SolidBrush(_tabSelector), selectorRectangle); } if (_selectorVisible2) { _graphics.FillRectangle(new SolidBrush(_tabSelector), selectorRectangle2); } GraphicsPath borderPath = new GraphicsPath(); borderPath.AddRectangle(_tabPageRectangle); VisualBorderRenderer.DrawBorder(_graphics, _tabPageRectangle, _tabPageBorder.Color, _tabPageBorder.Thickness); if (_arrowSelectorVisible) { DrawSelectionArrow(e, _tabPageRectangle); } // Draw selected tab text _graphics.DrawString( TabPages[tabIndex].Text, Font, new SolidBrush(_textSelected), _textRectangle, stringFormat); // Draw image list if (ImageList != null) { _graphics.DrawImage(ImageList.Images[tabIndex], _tabPageRectangle.X + 12, _tabPageRectangle.Y + 11, ImageList.Images[tabIndex].Size.Height, ImageList.Images[tabIndex].Size.Width); } } else { // Draw other TabPages _graphics.FillRectangle(new SolidBrush(_tabNormal), _tabPageRectangle); if ((State == MouseStates.Hover) && _tabPageRectangle.Contains(_mouseLocation)) { Cursor = Cursors.Hand; // Draw hover background _graphics.FillRectangle(new SolidBrush(_tabHover), _tabPageRectangle); // Draw tab selector if (_selectorVisible) { _graphics.FillRectangle(new SolidBrush(_tabSelector), selectorRectangle); } if (_selectorVisible2) { _graphics.FillRectangle(new SolidBrush(_tabSelector), selectorRectangle2); } GraphicsPath borderPath = new GraphicsPath(); borderPath.AddRectangle(_tabPageRectangle); VisualBorderRenderer.DrawBorder(_graphics, _tabPageRectangle, _tabPageBorder.Color, _tabPageBorder.Thickness); } _graphics.DrawString( TabPages[tabIndex].Text, Font, new SolidBrush(_textNormal), _textRectangle, stringFormat); // Draw image list if (ImageList != null) { _graphics.DrawImage(ImageList.Images[tabIndex], _tabPageRectangle.X + 12, _tabPageRectangle.Y + 11, ImageList.Images[tabIndex].Size.Height, ImageList.Images[tabIndex].Size.Width); } } } DrawSeparator(e); }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics _graphics = e.Graphics; _graphics.Clear(Parent.BackColor); _graphics.SmoothingMode = SmoothingMode.HighQuality; _graphics.TextRenderingHint = TextStyle.TextRenderingHint; Rectangle _clientRectangle = new Rectangle(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width - 1, ClientRectangle.Height - 1); ControlGraphicsPath = VisualBorderRenderer.CreateBorderTypePath(_clientRectangle, _border); _graphics.FillRectangle(new SolidBrush(BackColor), new Rectangle(ClientRectangle.X - 1, ClientRectangle.Y - 1, ClientRectangle.Width + 1, ClientRectangle.Height + 1)); _graphics.SetClip(ControlGraphicsPath); _buttonRectangle = new Rectangle(Width - _buttonWidth, 1, _buttonWidth, Height); Size incrementSize = GraphicsManager.MeasureText("+", _buttonFont, _graphics); Size decrementSize = GraphicsManager.MeasureText("-", _buttonFont, _graphics); _incrementButtonPoints[0] = new Point((_buttonRectangle.X + (_buttonRectangle.Width / 2)) - (incrementSize.Width / 2), (_buttonRectangle.Y + (_buttonRectangle.Height / 2)) - (_buttonRectangle.Height / 4) - (incrementSize.Height / 2)); _decrementButtonPoints[0] = new Point((_buttonRectangle.X + (_buttonRectangle.Width / 2)) - (decrementSize.Width / 2), (_buttonRectangle.Y + (_buttonRectangle.Height / 2) + (_buttonRectangle.Height / 4)) - (decrementSize.Height / 2)); _incrementButtonPoints[1] = new Point((_buttonRectangle.X + (_buttonRectangle.Width / 4)) - (incrementSize.Width / 2), (Height / 2) - (incrementSize.Height / 2)); _decrementButtonPoints[1] = new Point((_buttonRectangle.X + (_buttonRectangle.Width / 2) + (_buttonRectangle.Width / 4)) - (decrementSize.Width / 2), (Height / 2) - (decrementSize.Height / 2)); int toggleInt; switch (_buttonOrientation) { case Orientation.Horizontal: { toggleInt = 1; _borderButtons.Location = new Point(_buttonRectangle.X + (_buttonRectangle.Width / 2), _border.Thickness); _borderButtons.Size = new Size(1, Height - _border.Thickness - 1); break; } case Orientation.Vertical: { toggleInt = 0; _borderButtons.Location = new Point(_buttonRectangle.X, (_buttonRectangle.Bottom / 2) - _border.Thickness); _borderButtons.Size = new Size(Width - _border.Thickness - 1, 1); break; } default: { throw new ArgumentOutOfRangeException(); } } _buttonPath = new GraphicsPath(); _buttonPath.AddRectangle(_buttonRectangle); _buttonPath.CloseAllFigures(); Color _backColor = Enabled ? BackColorState.Enabled : BackColorState.Disabled; VisualBackgroundRenderer.DrawBackground(e.Graphics, _backColor, BackgroundImage, MouseState, _clientRectangle, Border); _graphics.SetClip(ControlGraphicsPath); _graphics.FillRectangle(new SolidBrush(_buttonColor), _buttonRectangle); _graphics.ResetClip(); _graphics.DrawString("+", _buttonFont, new SolidBrush(_buttonForeColor), _incrementButtonPoints[toggleInt]); _graphics.DrawString("-", _buttonFont, new SolidBrush(_buttonForeColor), _decrementButtonPoints[toggleInt]); _borderEdge.Location = new Point(_buttonRectangle.X, _border.Thickness); _borderEdge.Size = new Size(1, Height - _border.Thickness - 1); DrawText(_graphics); VisualBorderRenderer.DrawBorderStyle(e.Graphics, _border, ControlGraphicsPath, MouseState); }