Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Can';t使用Visual Basic 2010在Groupbox中的文本框周围绘制矩形-_Vb.net - Fatal编程技术网

Vb.net Can';t使用Visual Basic 2010在Groupbox中的文本框周围绘制矩形-

Vb.net Can';t使用Visual Basic 2010在Groupbox中的文本框周围绘制矩形-,vb.net,Vb.net,我有两个vb格式的文本框控件。-如果两个文本框不在组框中,我可以围绕它们绘制矩形。-只有当文本框获得焦点时,矩形才被绘制。-代码是有效的,但不知怎的,当我将文本框放在组框中时,矩形不会被绘制- 这是我一直在使用的代码- Public Class Form1 Dim curControl As TextBox Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Lo

我有两个vb格式的文本框控件。-如果两个文本框不在组框中,我可以围绕它们绘制矩形。-只有当文本框获得焦点时,矩形才被绘制。-代码是有效的,但不知怎的,当我将文本框放在组框中时,矩形不会被绘制-

这是我一直在使用的代码-

Public Class Form1
    Dim curControl As TextBox
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load

End Sub
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint
    If Not curControl Is Nothing Then
        If curControl.Name = "TextBox1" Then
            Dim g As Graphics = e.Graphics
            Dim pen As New Pen(Color.Lime, 2.0)
            g.DrawRectangle(pen, New Rectangle(TextBox1.Location, TextBox1.Size))
            pen.Dispose()
        End If
    End If
    If Not curControl Is Nothing Then
        If curControl.Name = "TextBox2" Then
            Dim g As Graphics = e.Graphics
            Dim pen As New Pen(Color.Red, 2.0)
            g.DrawRectangle(pen, New Rectangle(TextBox2.Location, TextBox2.Size))
            pen.Dispose()
        End If
    End If
End Sub
Private Sub TextBox_Enter(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.Enter, TextBox2.Enter
    curControl = DirectCast(sender, TextBox)
    Me.Invalidate()
End Sub
Private Sub TextBox_Leave(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.Leave, TextBox2.Leave
    curControl = Nothing
    Me.Invalidate()
End Sub

您正在表单上而不是groupbox上绘图我已尝试使用私有子groupbox 1_Paint(ByVal sender作为对象,ByVal e作为PaintEventArgs)在groupbox中绘图处理groupbox1.Paint。。。但是不起作用(请原谅我的英语,它不是我的母语)可能重复为什么不起作用?它是给出了一个错误,还是没有显示?你可能想确保它是可见的,并且它被带到了前面。不显示。-文本框是可见的,并且被带到了前面-