我的WPF应用程序的主类(Container
)包含一个富文本框(tRPG
),如果在子类(Input
)中测试字符串,则应更新该文本框已经成功了。
它看起来像这样:
主要方法:
namespace TextRPG
{
public partial class Container : Form
{
// ...
private void BEnter_Click(object sender, EventArgs e)
{
Input input = new Input();
input.CheckInput(tUser.Text);
}
// ...
}
}
输入类别:
public class Input : Container
{
public void CheckInput(string i)
{
i.ToLower();
if (menu)
{
LoadMenu(i);
}else if (i == "menu" || i == "ende" || listening)
{
// Quit game
if (i == "ende")
{
if (MessageBox.Show(playername +
", wollt Ihr wirklich das Spiel ohne Speichern verlassen?", "Beenden",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
Application.Exit();
}
}else if (i == "menu" && menu == false)
{
menu = true; // The menu has been opened
accept = 1; // 1 means accept only numbers
LoadMenu("1");
}
// If the software's waiting for user's input, continue here
else
{
if (CheckNumber(i))
{
// TO DO
}
}
}
else
{
// Eingabe ignorieren
}
// Zuruecksetzen
tUser.Text = "watt";
}
private bool CheckNumber(string i)
{
// Accept only numbers
if (accept == 1 && !i.Any(char.IsDigit))
{
// It seems like the software's ignoring this part
tRPG.AppendText("\nPlease enter a number!");
return false;
}
else
{
return true;
}
}
// ...
}
我知道我的软件已经达到了代码的这一部分,因为我已经启用了一些断点。
您知道为什么富文本框未更新吗?