Расширяя ответ jberger, вы можете использовать событие MouseHover элемента управления, чтобы нарисовать прямоугольник вокруг элемента управления, подобный следующему:
private void Control_MouseHover ( object sender, EventArgs e ) {
if ( inHelpMode ) {
var c = (Control)sender;
var rect = c.Bounds;
rect.Inflate(1,1);
var g = CreateGraphics ();
ControlPaint.DrawBorder ( g, rect, Color.Blue, ButtonBorderStyle.Solid );
}
}
Это предполагает, что у вас есть личная переменная экземпляра inHelpMode
, которую вы устанавливаетекогда пользователь нажимает кнопку справки.
Скорее всего, вы также захотите удалить синий контур с элемента управления, когда пользователь перемещает фокус мыши с элемента управления.Для этого вы можете использовать событие MouseLeave:
private void Control_MouseLeave ( object sender, EventArgs e ) {
Invalidate ();
}