【发布时间】:2012-01-30 13:07:59
【问题描述】:
我想知道如何更改文本框的边框颜色和边框宽度,如下所示
如果是鼠标悬停,我需要显示一种颜色,而在鼠标按下时,我需要显示另一种颜色。
如果有源,谁能解释一下详细的过程。
【问题讨论】:
标签: vb.net winforms colors textbox border
我想知道如何更改文本框的边框颜色和边框宽度,如下所示
如果是鼠标悬停,我需要显示一种颜色,而在鼠标按下时,我需要显示另一种颜色。
如果有源,谁能解释一下详细的过程。
【问题讨论】:
标签: vb.net winforms colors textbox border
您可以执行以下操作:
TextBox 放入Panel
Fill
然后,处理文本框上的鼠标事件,当鼠标进入/离开时,在两种颜色之间切换面板的背景颜色。
就使用资源/句柄而言,这不是最优雅的方法,但它应该可以在没有任何自定义绘图的情况下工作。
【讨论】:
与上面相同,但稍有不同。很遗憾,由于声誉问题,我无法发表评论。
UserControl
Panel
6, 3, 6, 3(左、上、右、下)TextBox
...那么对于边框颜色变化的属性,你可以使用这个
Dim tbxFocus As Boolean = False
Private Sub tbx_GotFocus(sender As Object, e As EventArgs) Handles tbx.GotFocus
tbxFocus = True
Me.BackColor = Color.CornflowerBlue
End Sub
Private Sub tbx_LostFocus(sender As Object, e As EventArgs) Handles tbx.LostFocus
tbxFocus = False
Me.BackColor = SystemColors.Control
End Sub
Private Sub tbx_MouseEnter(sender As Object, e As EventArgs) Handles tbx.MouseEnter
If tbxFocus = False Then Me.BackColor = SystemColors.ControlDark
End Sub
Private Sub tbx_MouseLeave(sender As Object, e As EventArgs) Handles tbx.MouseLeave
If tbxFocus = False Then Me.BackColor = SystemColors.Control
End Sub
这是不言自明的。
【讨论】: