2012-12-18 143 views
2

我正在尝试为孩子写一封信给圣诞老人,但我遇到了一个问题。 如果我在一个按钮,使用BYVAL,我会返回一个错误,[因为它们没有兼容的签名方法无法处理事件。]VB.NET - 共享变量

下面的代码...

 Dim formChecked As Boolean 
    ' Load complete 
    LabelMain.Text = "Write a Letter to Santa!" 
    ' Start program 
End Sub 

Private Sub ButtonCheck_Click(ByVal formchecked As Boolean, ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCheck.Click 
    If formChecked = True Then 
     ButtonSign.Enabled = False 
     ButtonCheck.Text = "Check Letter" 
     TextBoxName.Enabled = True 
     TextBoxAge.Enabled = True 

顶部sub在程序开始时声明变量,但我希望能够在sub之间共享变量。正如你可以在ButtonCheck_Click子文件中看到的,我已经输入了ByVal formchecked as Boolean,但它返回Method无法处理事件的错误,因为它们没有兼容的签名。

我是vb.net的新手,如果任何人都可以帮助我,我就会流浪。

回答

2

要在方法之间“共享”变量,请将其作为实例变量,即将其声明为在任何方法之外,但在Form中。

Private formChecked As Boolean 

Private Sub ButtonCheck_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCheck.Click 

    If formChecked = True Then 
     ... 
    End If 

End Sub 
+0

真的有帮助!谢谢! :) –