ControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, ...)
Использование e.ClipRectangle, как это, является традиционной ошибкой в обработчике событий Paint. Это не прямоугольник, который соответствует границе, которую вы хотите нарисовать. Только часть элемента управления нуждается в [gg] для окрашивания. Обычно это полный контроль, но не всегда. Например, в вашем случае, когда вы перетаскиваете окно через свой элемент управления, нужно перекрасить только ту часть, которая обнаружена. Итак, теперь вы рисуете границу в неправильном положении, создавая эти черные линии.
Вы только когда-либо используете ClipRectangle, если ваш код рисования дорог, и вы хотите воспользоваться возможностью, чтобы пропустить этот дорогой код, когда он в любом случае не требуется. Это довольно редко, обрезание в Windows уже довольно эффективно.
Вам нужно будет передать фактический прямоугольник вашей границы. Исправление:
ControlPaint.DrawBorder(e.Graphics, Me.ClientRectangle, _
Color.Black, ButtonBorderStyle.Solid)