visual basic.net中的无边框按钮?

时间:2013-05-18 21:24:16

标签: vb.net winforms button

嘿我在那里询问如何在vb.net中创建一个无边框按钮我总是可以将样式设置为平面并使背景颜色变得透明但总是让我始终将按钮聚焦并显示为按钮形状这破坏了我想要它的按钮样式 这是我之前使用的一个类,但它不起作用

Public Class ButtonEx
Inherits Button

    Private _ShouldShowFocus As Boolean = False
    Public Property ShouldShowFocus() As Boolean
        Get
            Return _ShouldShowFocus
        End Get
        Set(ByVal value As Boolean)
            _ShouldShowFocus = value
        End Set
    End Property

    Protected Overrides ReadOnly Property ShowFocusCues() As Boolean
        Get
            Return _ShouldShowFocus
        End Get
    End Property

End Class

3 个答案:

答案 0 :(得分:1)

您可以继承标准按钮并覆盖OnPaint方法以实现无边框按钮。

Class BorderlessButton
Inherits Button

Protected Overrides Sub OnPaint(ByVal pe As PaintEventArgs)
    MyBase.OnPaint(pe)
    pe.Graphics.DrawRectangle(New Pen(BackColor, 5), ClientRectangle)
End Sub

End Class

我假设你已经尝试了Button.FlatAppearance属性,但这些都没有帮助解决你的问题。

答案 1 :(得分:0)

你可以使用可点击的标签,这样就没有边框只需添加悬停代码.....

如果您使用asp.net

,也可以使用bootstrap或css

答案 2 :(得分:0)

Public Class ButtonNoFocusCues
    Inherits System.Windows.Forms.Button
    Protected Overrides ReadOnly Property ShowFocusCues As Boolean
        Get
            Return False
        End Get
    End Property
End Class