C# 是否在同一位置加载多个按钮

C# 是否在同一位置加载多个按钮,c#,xna,C#,Xna,我正在编写一个带有用户输入和按钮的UI界面。我需要让用户输入一些数字,然后按下标有“解决”的按钮,以确定数字是否正确。一开始我试着只用一个按钮来解决这个问题。这是我的密码: if (correct) { solveButton = new MenuButton(contentManager.Load<Texture2D>("solve"), buttonCenter, GameState.AnswerNo); } else { solveButton

我正在编写一个带有用户输入和按钮的UI界面。我需要让用户输入一些数字,然后按下标有“解决”的按钮,以确定数字是否正确。一开始我试着只用一个按钮来解决这个问题。这是我的密码:

if (correct)
{
    solveButton = new MenuButton(contentManager.Load<Texture2D>("solve"), 
        buttonCenter, GameState.AnswerNo);
}
else
{
    solveButton = new MenuButton(contentManager.Load<Texture2D>("solve"),
        buttonCenter, GameState.AnswerYes);
}
这里,GameState.AnswerNo和GameState.AnswerYes分别指向正确答案和错误答案的不同页面。然而,它并没有像我想象的那样工作-它总是进入GameState.AnswerNo页面,不管正确的值是多少

因此,我考虑使用两个按钮按钮图形相同,但移动一点位置:

solveButton = new MenuButton(contentManager.Load<Texture2D>("solve"),
    buttonCenter, GameState.AnswerNo);

buttonCenter.Y -= 40;

solveButton2 = new MenuButton(contentManager.Load<Texture2D>("solve"),
    buttonCenter, GameState.AnswerYes);

这很好,但令人尴尬的是,当用户输入正确的数字时,button1将消失,button2将出现在它的正下方。是否有更好的方法来完成此功能?

我认为您看错了问题

不使用两个不同的按钮,为什么不使用一个按钮,然后通过函数设置状态

用户输入值,然后按下按钮。 按钮调用函数,检查值是否正确。 根据结果,设置活动状态。
为什么不给两个按钮相同的位置?谢谢你的回复。在同一位置使用两个按钮,无论输入如何,都只会返回一个答案。这听起来像是您在查看代码的错误部分。听起来您的solveButton没有被正确地重新分配/重画,但是很难确定给定的代码是否正确。
solveButton = new MenuButton(contentManager.Load<Texture2D>("solve"),
    buttonCenter, GameState.AnswerNo);

buttonCenter.Y -= 40;

solveButton2 = new MenuButton(contentManager.Load<Texture2D>("solve"),
    buttonCenter, GameState.AnswerYes);
if (correct)
{
    solveButton.Draw(spriteBatch);
}

if (!correct)
{
    solveButton2.Draw(spriteBatch);
}