2013-07-18 70 views

回答

8

你定義的數組,但只Quiz_Load方法的範圍,所以timer1_Tick範圍也毫不知情。如果你把它聲明爲一個類的實例成員,這將是從任何實例方法可以訪問:

private string[] MyRandomArray; 

public void Quiz_Load(object sender, EventArgs e) 
{ 
    this.MyRandomArray = getWordList(); 
} 

private void timer1_Tick(object sender, EventArgs e) 
{ 
    somefunction(this.MyRandomArray); // No problem 
} 

進一步閱讀

+0

其實它的作用。您的評論無效! –

+0

@ColeJohnson對不起,我忘了將它從OP的原始代碼中刪除。現在已經修復了。 –

+0

更好......... –

4

MyRandomArraylocalQuiz_Load方法;因此您無法在timer1_Tick方法中看到它。你必須使用一個字段來存儲數組,如果你需要它跨越可見實例方法:

private string[] MyRandomArray; 

public void Quiz_Load(object sender, EventArgs e) { 
    this.MyRandomArray = getWordList(); 
} 

private void timer1_Tick(object sender, EventArgs e) { 
    somefunction(this.MyRandomArray); 
} 

或者,因爲你有一個計時器的滴答聲,當你設置計時器回調你可以有,如部分callback state你可以傳遞MyRandomArray

相關問題