2017-03-02 103 views
-6

爲什麼我不能稱這個? ;(Noobish在當前情況下不存在

public void StartNewGame() 
{ 
    Button GamePanelHideButton = new Button(); 
} 

public void GamePanelHideButtonClick() 
{ 
    GamePanelHideButton.Visible = !GamePanelHideButton.visible; 
} 

GamePanelHideButton不存在上下文:(雖然其之前創建

+1

也許你應該在問這裏問題之前先運行一些非常基本的C#教程? – DavidG

+0

感謝您的幫助:/ – DoctorDeath

+1

查找涵蓋「範圍」的教程。 –

回答

2

你的按鈕的創建startnewgame內作用域()和不是方法GamePanelHideButtonClick

移動的這兩種方法之外GamePanelHideButton可變訪問。

嘗試此

public Button GamePanelHideButton; 

public void StartNewGame() 
{ 
    GamePanelHideButton = new Button(); 
} 

public void GamePanelHideButtonClick() 
{ 
    GamePanelHideButton.Visible = !GamePanelHideButton.visible; 
} 
+0

是的。似乎多數民衆贊成我的初學者級別的C#的唯一最簡單的方法。非常感謝你。 – DoctorDeath

+0

雖然「Public Button GamePanelHideButton;」沒有爲我工作。 – DoctorDeath

+0

我將編輯答案以擁有正確的公開案例。 – Marc

0

GamePanelHideButton是一個局部變量 - 它只是「存在」,而StartNewGame方法實際執行,並且只有你可以參考它的地方是從StartNewGame的方法,你應該把它作爲一個字段(類全變量)

此外,你的聲明,它「之前創建」它的使用決定是不是是真(或者,至少不是必然是真)。沒有什麼能夠保證你所展示的兩種方法將以任何特定的順序執行 - 你可以按照你感覺所有編譯器知道的順序執行它們。

+0

謝謝。我真的不想創建字段類只是一次切換一個布爾屬性。無論如何,謝謝你的認真迴應。 – DoctorDeath

+0

@DoctorForDeath不需要單獨的課程 - 只需讓它成爲與你的方法相同的課程領域,就像Marc在回答 – EJoshuaS

0

移動。這按鈕GamePanelHideButton =新按鈕();以外的任何方法,它的工作,謝謝你所有認真的人的幫助。

Button GamePanelHideButton = new Button(); 
相關問題