2015-10-04 13 views
-1

我需要爲幼兒創建一個數學測驗,但是我希望我的測驗顯示答案,當計算出的答案已經輸入儘管當我嘗試運行該程序時,它一直說我的變量避難所沒有被宣佈。'答案2'沒有聲明。它可能是無法訪問,由於保護水平

公共類窗體2

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim RN As New Random 
    Dim RandomNum1 = RN.Next(1, 5) 
    Dim RandomNum2 = RN.Next(5, 10) 
    Dim RandomNum3 = RN.Next(15, 20) 
    Dim RandomNum4 = RN.Next(25, 30) 
    Dim RandomNum5 = RN.Next(35, 40) 
    Dim arethmeticsymbollist As New List(Of String) 
    Dim Symbol1 = "+" 
    Dim Symbol2 = "-" 
    Dim Symbol3 = "*" 
    Dim Number1 As Integer 
    Dim Number2 As Integer 
    Dim Number3 As Integer 
    Dim Number4 As Integer 
    Dim Number5 As Integer 
    Dim Number6 As Integer 
    Dim Number7 As Integer 
    Dim Number8 As Integer 
    Dim Number9 As Integer 
    Dim Number10 As Integer 
    Dim Number11 As Integer 
    Dim Number12 As Integer 
    Dim Number13 As Integer 
    Dim Number14 As Integer 
    Dim Number15 As Integer 
    Dim Number16 As Integer 
    Dim Number17 As Integer 
    Dim Number18 As Integer 
    Dim Number19 As Integer 
    Dim Number20 As Integer 
    Dim Answer1 As Integer 
    Dim Answer2 As Integer 
    Dim Answer3 As Integer 
    Dim Answer4 As Integer 
    Dim Answer5 As Integer 
    Dim Answer6 As Integer 
    Dim Answer7 As Integer 
    Dim Answer8 As Integer 
    Dim Answer9 As Integer 
    Dim Answer10 As Integer 
    Dim TotalBox As Integer 
    Dim TotalCorrect As Integer 
    Dim TotalIncorrect As New Integer 


    RandomInteger1.Text = RandomNum1 
    RandomInteger2.Text = RandomNum2 
    RandomInteger3.Text = RandomNum3 
    RandomInteger4.Text = RandomNum4 
    RandomInteger5.Text = RandomNum5 
    RandomInteger6.Text = RandomNum1 
    RandomInteger7.Text = RandomNum2 
    RandomInteger8.Text = RandomNum3 
    RandomInteger9.Text = RandomNum4 
    RandomInteger10.Text = RandomNum5 
    RandomInteger11.Text = RandomNum1 
    RandomInteger12.Text = RandomNum2 
    RandomInteger13.Text = RandomNum3 
    RandomInteger14.Text = RandomNum4 
    RandomInteger15.Text = RandomNum5 
    RandomInteger16.Text = RandomNum1 
    RandomInteger17.Text = RandomNum2 
    RandomInteger18.Text = RandomNum3 
    RandomInteger19.Text = RandomNum4 
    RandomInteger20.Text = RandomNum5 

    RandomSymbol1.Text = Symbol1 
    RandomSymbol2.Text = Symbol2 
    RandomSymbol3.Text = Symbol3 
    RandomSymbol4.Text = Symbol1 
    RandomSymbol5.Text = Symbol2 
    RandomSymbol6.Text = Symbol3 
    RandomSymbol7.Text = Symbol1 
    RandomSymbol8.Text = Symbol2 
    RandomSymbol9.Text = Symbol3 
    RandomSymbol10.Text = Symbol1 
    Number1 = Integer.Parse(RandomInteger1.Text()) 
    Number2 = Integer.Parse(RandomInteger2.Text()) 
    Answer1 = Number1 + Number2 
    Number3 = Integer.Parse(RandomInteger3.Text()) 
    Number4 = Integer.Parse(RandomInteger4.Text()) 
    Answer2 = Number3 - Number4 
    Number5 = Integer.Parse(RandomInteger5.Text()) 
    Number6 = Integer.Parse(RandomInteger6.Text()) 
    Answer3 = Number5 * Number6 
    Number7 = Integer.Parse(RandomInteger7.Text()) 
    Number8 = Integer.Parse(RandomInteger8.Text()) 
    Answer4 = Number7 + Number8 
    Number9 = Integer.Parse(RandomInteger9.Text()) 
    Number10 = Integer.Parse(RandomInteger10.Text()) 
    Answer5 = Number9 - Number10 
    Number11 = Integer.Parse(RandomInteger11.Text()) 
    Number12 = Integer.Parse(RandomInteger12.Text()) 
    Answer6 = Number11 * Number12 
    Number13 = Integer.Parse(RandomInteger13.Text()) 
    Number14 = Integer.Parse(RandomInteger14.Text()) 
    Answer7 = Number13 + Number14 
    Number15 = Integer.Parse(RandomInteger15.Text()) 
    Number16 = Integer.Parse(RandomInteger16.Text()) 
    Answer8 = Number13 - Number14 
    Number17 = Integer.Parse(RandomInteger17.Text()) 
    Number18 = Integer.Parse(RandomInteger18.Text()) 
    Answer9 = Number18 * Number19 
    Number19 = Integer.Parse(RandomInteger13.Text()) 
    Number20 = Integer.Parse(RandomInteger14.Text()) 
    Answer10 = Number19 + Number20 
End Sub 

Private Sub RandomInteger7_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RandomInteger7.TextChanged 

End Sub 

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SubmitButton3.Click 

End Sub 

Private Sub SubmitButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SubmitButton1.Click 

End Sub 

Private Sub SubmitButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SubmitButton2.Click 
    If Integer.Parse(AnswerBox2.Text()) = Answer2 Then CorI2.Text = "Correct" Else CorI2.Text = "Incorrect, the answer is " & Answer2 
    If Integer.Parse(AnswerBox2.Text()) = Answer2 Then TotalCorrect = TotalCorrect + 1 
    TotalBox.Text = TotalCorrect 


End Sub 

末級

+0

先學習一些vb.net,然後問你關於你的問題的問題(我很抱歉,我不打算意味着什麼)。這太糟糕了 - 你的問題! –

+0

我只有15歲,已經做了在學校做計算機,這是我的課程,我不明白vb老師不會幫助我,所以我不得不導致這個:/沒有采取進攻 – zumzum

+0

哦所以你是一個初學者。您應該首先知道變量只能從其上下文中訪問。如果你在一個方法或函數中聲明一個變量,你將只能在其中訪問它。但是如果你想通過方法訪問它們(在你的情況下),你必須聲明它們是公開的。 –

回答

0

的方法內聲明的局部變量(在方法Form2_Load如:Number2)只是該方法中訪問。

因此SubmitButton2_Click找不到Answer2Answer2因爲是在不同的方法中的局部的。

您需要在包含類的類字段(或屬性)的多個方法和函數中使用要使用的變量。


當然,除非你使用lambda表達式來創建一個封閉:卻是沒有的,在這裏。

+0

你知道我怎麼能從我的第一個表單發送信息到我的第三個表單到datagridview? – zumzum

+0

@zumzum是的,但在評論中解釋太多 - 真的需要一個教程:網上有很多。嘗試搜索「vb.net發送數據到另一個表單」。 – Richard

相關問題