VitNX_Button.OnPaint Method
Raises the OnPaint event.
protected override void OnPaint( |
This language is not supported or no code example is available.
Parameters
-
e
-
PaintEventArgs
protected override void OnPaint(PaintEventArgs e) |
var rect = new Rectangle(0, 0, ClientSize.Width, ClientSize.Height); |
var textColor = Colors.LightText; |
var borderColor = Colors.GreySelection; |
var fillColor = _isDefault ? Colors.VitNXBlueBackground : Colors.LightBackground; |
if (ButtonStyle == VitNX_ButtonStyle.Normal) |
if (Focused && TabStop) { borderColor = Colors.BlueHighlight; } |
case VitNX_ControlState.Hover: |
fillColor = _isDefault ? Colors.BlueBackground : Colors.LighterBackground; |
case VitNX_ControlState.Pressed: |
fillColor = _isDefault ? Colors.VitNXBackground : Colors.VitNXBackground; |
else if (ButtonStyle == VitNX_ButtonStyle.Flat) |
case VitNX_ControlState.Normal: |
fillColor = Colors.GreyBackground; |
case VitNX_ControlState.Hover: |
fillColor = Colors.MediumBackground; |
case VitNX_ControlState.Pressed: |
fillColor = Colors.VitNXBackground; |
textColor = Colors.DisabledText; |
fillColor = Colors.VitNXGreySelection; |
using (var b = new SolidBrush(fillColor)) { g.FillRectangle(b, rect); } |
if (ButtonStyle == VitNX_ButtonStyle.Normal) |
using (var p = new Pen(borderColor, 1)) |
var modRect = new Rectangle(rect.Left, rect.Top, rect.Width - 1, rect.Height - 1); |
g.DrawRectangle(p, modRect); |
var stringSize = g.MeasureString(Text, Font, rect.Size); |
var x = (ClientSize.Width / 2) - (Image.Size.Width / 2); |
var y = (ClientSize.Height / 2) - (Image.Size.Height / 2); |
switch (TextImageRelation) |
case TextImageRelation.ImageAboveText: |
textOffsetY = (Image.Size.Height / 2) + (ImagePadding / 2); |
y = y - (( int )(stringSize.Height / 2) + (ImagePadding / 2)); |
case TextImageRelation.TextAboveImage: |
textOffsetY = ((Image.Size.Height / 2) + (ImagePadding / 2)) * -1; |
y = y + (( int )(stringSize.Height / 2) + (ImagePadding / 2)); |
case TextImageRelation.ImageBeforeText: |
textOffsetX = Image.Size.Width + (ImagePadding * 2); |
case TextImageRelation.TextBeforeImage: |
x = x + ( int )stringSize.Width; |
g.DrawImageUnscaled(Image, x, y); |
using (var b = new SolidBrush(textColor)) |
var modRect = new Rectangle(rect.Left + textOffsetX + Padding.Left, rect.Top + textOffsetY + Padding.Top, rect.Width - Padding.Horizontal, rect.Height - Padding.Vertical); |
var stringFormat = new StringFormat |
LineAlignment = StringAlignment.Center, |
Alignment = StringAlignment.Center, |
Trimming = StringTrimming.EllipsisCharacter |
g.DrawString(Text, Font, b, modRect, stringFormat); |
This language is not supported or no code example is available.
.NET Framework
Supported in: 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Core
Supported in: 5.0+, 6.0+