Vb.net 如何在winforms中更改文本框边框的颜色和宽度?
我想知道如何更改文本框的边框颜色和边框宽度,如下所示 如果是鼠标悬停,我需要显示一种颜色,在鼠标按下时,我需要显示另一种颜色Vb.net 如何在winforms中更改文本框边框的颜色和宽度?,vb.net,winforms,colors,textbox,border,Vb.net,Winforms,Colors,Textbox,Border,我想知道如何更改文本框的边框颜色和边框宽度,如下所示 如果是鼠标悬停,我需要显示一种颜色,在鼠标按下时,我需要显示另一种颜色 有人可以向我解释详细的流程和来源(如果有的话)。您可以执行以下操作: 将文本框放在面板内 为面板提供1像素的填充 将文本驳接设置为Fill 使文本框没有边框 然后,在文本框中处理鼠标事件,当鼠标进入/离开时,在两种颜色之间切换面板的背景色 就使用资源/句柄而言,这不是最优雅的方法,但在没有任何自定义绘图的情况下,它应该可以工作。与上面相同,但有一点扭曲。不幸的是,由
有人可以向我解释详细的流程和来源(如果有的话)。您可以执行以下操作:
- 将
放在文本框
面板内
- 为面板提供1像素的填充
- 将文本驳接设置为
Fill
- 使文本框没有边框
就使用资源/句柄而言,这不是最优雅的方法,但在没有任何自定义绘图的情况下,它应该可以工作。与上面相同,但有一点扭曲。不幸的是,由于声誉问题,我不能发表评论
- 制作一个
UserControl
- 将all上的usercontrol padding设置为1
- 将
放在用户控件内面板
- 将面板停靠样式设置为“填充”
- 将面板填充设置为
(左、上、右、下)6,3,6,3
- 在面板内放置一个
文本框
- 将文本框停靠样式设置为“填充”
- 将文本框边框样式设置为“无”
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
这是非常不言自明的。谢谢你的回复,我认为这是最简单的方法,而不是使用绘画方法或使用不同的类。