Нарисуйте прямоугольник вокруг текстового поля внутри группового поля

#vb.net #graphics #drawrectangle

#vb.net #графика #нарисуйте прямоугольник

Вопрос:

Я хочу добавить пользовательскую границу вокруг TextBox элемента управления, который находится в GroupBox . Поскольку я новичок в этом графическом материале, мне трудно разобраться в проблеме.

Это код, который я использую:

 Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint

    Dim _g As Graphics = Me.GroupBox1.CreateGraphics
    Dim pen As New Pen(Color.Red, 2.0)
    _g.DrawRectangle(pen, New Rectangle(TextBox1.Location, TextBox1.Size))
    pen.Dispose()

End Sub
  

Эта форма является вторичной формой, которая отображается, когда я нажимаю на кнопку из основной формы. Красная рамка появляется на секунду при загрузке формы, а затем исчезает.

Комментарии:

1. Вам нужно обработать событие рисования groupbox. Не форма.

2. Упс! Не думал об этом. Спасибо, это сработало. 🙂

Ответ №1:

Вам нужно обработать событие рисования GroupBox, а не форму.

 Private Sub HandleGroupBox1Paint(sender As Object, e As PaintEventArgs) Handles GroupBox1.Paint
    Using p As New Pen(Color.Red, 2.0)
        e.Graphics.DrawRectangle(p, Me.TextBox1.bound)
    End Using
End Sub