减少形状不透明度

时间:2014-01-19 08:41:35

标签: vb.net visual-studio vb.net-2010

当我点击Button1时,如果Form1((me))不透明度小于90,则Form1's((me))不透明度应减少9%

这是我的代码

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    If Me.Opacity > 90 Then
        Me.Opacity = -9
    End If
End Sub

并且它无效

4 个答案:

答案 0 :(得分:3)

你几乎没有错误。首先,>更多,而不是更少。接下来,不透明度的范围为0-1,而不是0-100。最后,Me.Opacity=-9不会减少9,它会使它变为-9。

目前还不清楚是否要将不透明度降低当前不透明度的9%或0.09。

这减少了0.09:

If Me.Opacity < 0.9 Then
    Me.Opacity -= 0.09
End If

这是目前价值的9%:

If Me.Opacity < 0.9 Then
    Me.Opacity -= Me.Opacity * 0.09
End If

如果需要,可以设置下限:

If Me.Opacity < 0.9 AndAlso Me.Opacity > 0.2 Then
    'Decrease opacity
End If

答案 1 :(得分:2)

我认为这是你正在寻找的东西。根据您的陈述,如果表单的不透明度小于90(这意味着不透明度值小于0.9),则将当前不透明度的9%减去当前不透明度。这也意味着按钮单击代码仅在不透明度为0.89或更低时执行。只要你点击按钮,它就会继续减去9%。

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    If Me.Opacity < 0.9 Then
        Me.Opacity -= (Me.Opacity * 0.09)
    End If
End Sub

答案 2 :(得分:1)

>表示“超过”不少于此。此外= -9为不透明度指定值-9。你想要的是

If Me.Opacity < 0.9 Then
  Me.Opacity = Math.Max(0, Me.Opacity - 0.09)
End If

编辑:不透明度的值范围为0到1(以%表示,表示0%到100%)。我的坏。

这会将Current value - 9%的值分配给当前的不透明度,因此会将其减少9%。它还确保不透明度永远不会低于0(这就是Math.Max()的用途)。

答案 3 :(得分:0)

试试这个

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   If Me.Opacity > 90 Then
   Me.Opacity = Me.Opacity – 9
   End If
End Sub

<强>(OR)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   While Me.Opacity > 90 Then
   Me.Opacity = Me.Opacity – 9
   End While 
End Sub