为什么我不能打电话给这个? ;(
public void StartNewGame()
{
Button GamePanelHideButton = new Button();
}
public void GamePanelHideButtonClick()
{
GamePanelHideButton.Visible = !GamePanelHideButton.visible;
}
GamePanelHideButton在上下文中不存在:(虽然它是在之前创建的。
答案 0 :(得分:2)
您创建的按钮的范围是startnewgame(),并且无法访问方法GamePanelHideButtonClick
将GamePanelHideButton变量移出两个方法之外。
试试这个
public Button GamePanelHideButton;
public void StartNewGame()
{
GamePanelHideButton = new Button();
}
public void GamePanelHideButtonClick()
{
GamePanelHideButton.Visible = !GamePanelHideButton.visible;
}
答案 1 :(得分:0)
GamePanelHideButton
是一个局部变量 - 它只存在"存在"虽然StartNewGame
方法实际上正在执行,但实际引用它的唯一地方是StartNewGame
方法内部。你应该把它变成一个字段(类范围的变量)。
此外,您的声明是"它之前创建的"它的使用肯定是不是真的(或者,至少,必然是真的)。没有任何东西可以保证您展示的两种方法将以任何特定的顺序执行 - 您可以按照您认为所有编译器都知道的任何顺序执行它们。
答案 2 :(得分:0)
在任何方法之外移动了按钮GamePanelHideButton = new Button(); 并且它有效,感谢所有认真的人寻求帮助。
Button GamePanelHideButton = new Button();