Draw a Rectangle Around the Toolbar Button

Draw a Rectangle Around the Toolbar Button

The following code draws a rectangle around the toolbar button when a user moves their mouse over it. This looks better if the Appearance property of the toolbar is set to Flat. Instead of refreshing the toolbar, which makes it flicker, a new rectangle the color of the button is drawn to make sure only one button at a time has different border:

private void ToolBar_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e){	Point p = new Point(MousePosition.X,MousePosition.Y);	p = ToolBar.PointToClient(p);	Graphics g = ToolBar.CreateGraphics();	foreach (ToolBarButton tb in ToolBar.Buttons)	{	   if (tb.Rectangle.Contains(p))	   {	     g.DrawRectangle(new Pen(new SolidBrush Color.SteelBlue),1.5F),tb.Rectangle); 				   	   }else{	     g.DrawRectangle(new Pen(new SolidBrush (Color.LightGray),1.5F),tb.Rectangle); 				   }	}	g.Dispose();}


Share the Post: