我想知道如何更改文本框的边框颜色和边框宽度,如下所示
如果是鼠标悬停我需要显示一种颜色,然后在鼠标按下时我需要显示另一种颜色。
任何人都可以向我解释使用源代码的详细过程。
先谢谢。
答案 0 :(得分:4)
您可以执行以下操作:
TextBox
放入Panel
Fill
然后,在文本框上处理鼠标事件,当鼠标进入/离开时,在两种颜色之间切换面板的背景颜色。
这在使用资源/句柄方面不是最优雅的方法,但它应该在没有任何自定义绘图的情况下工作。
答案 1 :(得分:2)
与上面相同,有点扭曲。不幸的是,由于声誉,我无法发表评论。
UserControl
Panel
放入usercontrol 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
这很不言自明。