2014-01-19 68 views
1

當我點擊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 

和它不工作

+0

退房我的解決方案如果有效請記住,您應該使用0.9而不是90,因爲不透明度的最高數值爲1(100%)。 90%應該是0.9。 –

回答

0

>的意思是「不止」。另外= -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()的用處)。

+0

當我點擊按鈕時,它完全消失。 ((0%不透明!!!)) – AhmedSamir

+0

你是對的,我編輯了我的錯誤。 – Jens

+0

是的..這是正確的,它的工作thx人 – AhmedSamir

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 
+0

兩者都不起作用 – AhmedSamir

1

我認爲這是你在找什麼。根據您的陳述,如果表格的不透明度小於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 
+0

它的工作,, thx的傢伙 – AhmedSamir

2

您幾乎沒有錯誤。首先,>更多,不少。接下來,不透明度的範圍是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