2014-07-04 35 views
-2

我有这样的片段从我的代码Vb.net变暗的按钮转向0

Private Sub BtnOne_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)  Handles BtnOne.Click 
    Dim ownerNum As Integer 'sets variable 
    ownerNum = Ownerfnc(Indicatorbtn, ownerNum) 'gives variable a number 
End Sub 

Function cntOwner(ByRef indicator As Object, ByRef old As Integer) As Integer 
    If indicator.FillColor = Color.Transparent Then 
     indicator.FillColor = Color.green 
     Return player 
    Else 
     Return old 
    End If 

End Function 

当我点击按钮,它设置变量为正确的数字,但如果我再次点击将其设置回0有没有办法阻止它做到这一点? 谢谢

+0

一个解决方案,您可以请发表您的完整代码工作得很好?当插入代码 – CodeSlayer

+0

时,请使用''将'Options Strict On'添加到代码的顶部或在项目设置中设置。 –

回答

1

感谢您的答案,来解释多一点,我有42个不同的变量需要的地方在42个不同的按钮点击。

答案是只是把静态的,而不是暗淡,对于任何人,一直在寻找这样的

1

声明你的变量全局(外部过程)来坚持它的值。

此刻,您的变量在程序中本地声明。这样,每次调用该过程时,都会重新创建它 - 重置为默认值。作为参考,请阅读:MSDN - Scope in Visual Basic

0

你应该在按钮点击事件之外声明你的变量。每次你点击按钮时,ownerNum的值都会重置。尝试DIS代码

Dim ownerNum As Integer 'sets variable

Private Sub BtnOne_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOne.Click 'now every time you click the ownerNum is not reseting. ownerNum = Ownerfnc(Indicatorbtn, ownerNum) 'gives variable a number End Sub

Function cntOwner(ByRef indicator As Object, ByRef old As Integer) As Integer If indicator.FillColor = Color.Transparent Then indicator.FillColor = Color.green Return player Else Return old End If

End Function