How to customize the caption label forecolor of a WinForms MetroForm when the mouse is hovering?
WinForms MetroForm CaptionLabel Forecolor can be changed when mouse hovering. It can be achieved by handling the MouseEnter and MouseLeave events. The following code demonstrates the same.
C#
// Caption labels
for(int i = 0; i < this.CaptionLabels.Count; i++)
{
CaptionLabel item = this.CaptionLabels[i];
item.LabelMouseEnter += new CaptionLabel.MouseEnter(item_LabelMouseEnter);
item.LabelMouseLeave += new CaptionLabel.MouseLeave(item_LabelMouseLeave);
item.LabelMouseDown += new CaptionLabel.MouseDown(item_LabelMouseDown);
}
/// <summary>
/// Occurs on Mouse Pointer Leave
/// </summary>
void item_LabelMouseLeave(object sender, LabelMouseLeaveEventArgs e)
{
if((sender as CaptionLabel) != null)
{
(sender as CaptionLabel).ForeColor = Color.White;
}
}
/// <summary>
/// Occurs on Mouse Pointer Enter
/// </summary>
void item_LabelMouseEnter(object sender, LabelMouseEnterEventArgs e)
{
if((sender as CaptionLabel) != null)
{
(sender as CaptionLabel).ForeColor = Color.Yellow;
}
}VB
' Caption labels
For i As Integer = 0 To Me.CaptionLabels.Count - 1
Dim item As CaptionLabel = Me.CaptionLabels(i)
AddHandler item.LabelMouseEnter, AddressOf item_LabelMouseEnter
AddHandler item.LabelMouseLeave, AddressOf item_LabelMouseLeave
AddHandler item.LabelMouseDown, AddressOf item_LabelMouseDown
Next i
''' <summary>
''' Occurs on Mouse Pointer Leave
''' </summary>
Private Sub item_LabelMouseLeave(ByVal sender As Object, ByVal e As LabelMouseLeaveEventArgs)
If(TryCast(sender, CaptionLabel)) IsNot Nothing Then
TryCast(sender, CaptionLabel).ForeColor = Color.White
End If
End Sub
''' <summary>
''' Occurs on Mouse Pointer Enter
''' </summary>
Private Sub item_LabelMouseEnter(ByVal sender As Object, ByVal e As LabelMouseEnterEventArgs)
If(TryCast(sender, CaptionLabel)) IsNot Nothing Then
TryCast(sender, CaptionLabel).ForeColor = Color.Yellow
End If
End SubThe image illustrates the customized caption label forecolor in MetroForm.

Samples:
C#: MetroFormExample
VB: MetroFormExample
Reference Link: Customization in MetroForm