Donate $1 now to see this question answered quickly
Sponsored questions offer a monetary incentive to answerers to produce quality responses.
Be intelligently matched with 5 likely answerers who will be alerted to help.
Hi, I have been trying to change the highlight color when the mouse gets on it of the stripmenu...how do I do that? Thanks in advance.
You can use the MouseMove event and check if the mouse pointer is within the Bounds of the stripmenu item.
If that's the case, simply change the BackgroundColor.
Private Sub menuitem1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) If menuitem1.Bounds.Contains(e.Location) Then menuitem1.BackColor = Color.Beige Else menuitem1.BackColor = Color.White End If End Sub
This does not solve my problem. The Highlight color still is blue. I don't know where I can choose the highlight color, there isn't any option, and I didn't found any solution on the Internet. Please help me.
Alright. Try this instead.
In the forms load event, add this line:
<name of menustrip>.Renderer = New MyRenderer Then, within the forms own class add a private class called MyRenderer which inherits ToolStripProfessionalRenderer.
Private Class MyRenderer : Inherits ToolStripProfessionalRenderer Protected Overrides Sub OnRenderMenuItemBackground(ByVal e As System.Windows.Forms.ToolStripItemRenderEventArgs) If e.Item.Selected Then Dim rc As New Rectangle(Point.Empty, e.Item.Size) 'Set the highlight color e.Graphics.FillRectangle(Brushes.Beige, rc) e.Graphics.DrawRectangle(Pens.Beige, 1, 0, rc.Width - 2, rc.Height - 1) Else Dim rc As New Rectangle(Point.Empty, e.Item.Size) 'Set the default color e.Graphics.FillRectangle(Brushes.Gray, rc) e.Graphics.DrawRectangle(Pens.Gray, 1, 0, rc.Width - 2, rc.Height - 1) End If End Sub End Class