如何在VB.Net

时间:2017-01-03 18:47:01

标签: vb.net button label transparency

我正在使用vb.net,我正在尝试创建一个覆盖标签的透明按钮。我们的想法是,您可以单击此按钮选择您正在编辑的标签。标签可以是可见的或不可见的,因此用户可以在特定时间看到其后面的另一个标签,因此只需单击标签就不起作用。我已将按钮的平面样式设置为平面,将背景颜色设置为网络>透明。我知道按钮是透明的,因为你仍然可以看到一切背后的背景。我也知道按钮遮挡了文本,因为如果我将按钮放在标签的一半上,那么我仍然可以看到未覆盖的一半。我完全不知所措,所以任何帮助都会受到赞赏。由于我刚设置了这个帐户,我没有足够的声誉来发布两个以上的链接,所以这就解释了空格。

编辑: 透明按钮位于网格中的每个方块上。我想单击透明按钮,使您感觉要点击网格方块。然后目的是单击旁边的垫上的数字来编辑该正方形。您应该能够看到图中没有按钮的“1”。我希望能够将按钮放在那里,以便您仍然可以单击它们来选择单元格,但我仍然希望看到后面标签上的数字。那么我该如何实现呢?

它应该如何显示(按钮被删除):

按钮的外观如何:

如何将按钮移动到一半模糊的用户控件:

我的按钮属性(1/2):

我按钮的属性(2/2):

2 个答案:

答案 0 :(得分:0)

根据您所描述的内容,我发现您无需在标签上隐藏按钮。我建议您不要重叠控件 - 特别是如果您允许用户调整表单的大小。

作为一种解决方案,我会更新点击事件中所选按钮的文本,并且按钮中的初始文本为空(即"")。

下面是一个winforms示例,试图复制您所描述的内容:

http://i.imgur.com/pWeqVHt.png

Public Class Form1
    Private _selButton As Button 'Current button selected
    Public Sub New()
        InitializeComponent()

        AddHandler btn1.Click, AddressOf UpdateText_Click
        AddHandler btn2.Click, AddressOf UpdateText_Click
        AddHandler btn3.Click, AddressOf UpdateText_Click
        AddHandler btn4.Click, AddressOf UpdateText_Click
        AddHandler btn5.Click, AddressOf UpdateText_Click
        AddHandler btn6.Click, AddressOf UpdateText_Click
        AddHandler btn7.Click, AddressOf UpdateText_Click           
        AddHandler btn8.Click, AddressOf UpdateText_Click
        AddHandler btn9.Click, AddressOf UpdateText_Click
        AddHandler btn0.Click, AddressOf UpdateText_Click
    End Sub

    Private Sub UpdateText_Click(sender As Object, e As EventArgs)
        Dim thisButton = DirectCast(sender, Button)
        If (_selButton IsNot Nothing) Then
            _selButton.Text = thisButton.Text
            _selButton.BackColor = SystemColors.Control
        End If
    End Sub

    Private Sub matrixbtn1_Click(sender As Object, e As EventArgs) Handles matrixbtn1.Click
        _selButton = matrixbtn
        matrixbtn1.BackColor = Color.Aqua
    End Sub
End Class

答案 1 :(得分:0)

获取一个小面板,并自定义其属性。双击它。您将进入代码部分以编码面板的单击事件。根本不需要使用按钮。你可以在VB中使用 ANY 控件,就像一个按钮。这包括标签,图片框,分组框,甚至表单本身。所有人都有可以使用的点击事件。只需从下拉事件菜单中选择它: The dropdown event menu.

这是它的扩展形式:

As you can see, lots of options. Look through and explore them.

请注意Load表示启动时会发生什么。这里的代码在表单打开时会发生什么。