正在获取WinForms中的Console.ReadLine()功能
本文关键字:ReadLine 功能 Console 中的 获取 WinForms | 更新日期: 2023-09-27 18:28:41
我正在使用WinForms
编写一个基本的文本游戏;这最初是一个CCD_ 2应用程序。
在我的Player
类中,我有一个方法,它当前从Console.ReadLine()
读取name
和characterClass
,并根据以下参数构建Player
对象:
public static Player CreateCharacter()
{
string name;
string characterClass;
//InputOutput.Write("Please enter your character's name: ");
name = Console.ReadLine();
characterClass = Console.ReadLine(); //SelectClass();
switch (characterClass.ToLower())
{
case "warrior":
return new Player(name, new Warrior());
case "archer":
return new Player(name, new Archer());
case "mage":
return new Player(name, new Mage());
default:
throw new ArgumentException();
}
}
这种方法在Console
项目中运行得很好,但现在我要转到WinForms
,我不确定如何从TextBox
中获得类似的功能。
我正在尝试构建一个类似于以下的方法:
public void StartNewGame()
{
AddTextToOutputBox("To begin, please enter a name for your character: ");
GetInputFromTextbox(input1); //wait for input from textbox
AddTextToOutputBox("Now, enter a class. [Warrior], [Archer], or [Mage]:");
GetInputFromTextbox(input2); //wait for input from textbox
Player.CreateCharacter(input1, input2); //create the player
}
其中,我向OutputBox
输出消息,等待来自InputBox
的输入,并根据这些参数创建Player
。
我不确定如何在这里继续,但我希望功能与Console.ReadLine()
类似,因为(目前的情况),我试图调用的方法取决于用户的输入。
- 有哪些选项可用于在WinForms中用
TextBox
模拟Console.ReadLine()
的功能是否有更适合此任务的其他控件 - 这种方法是做我想完成的事情的"正确"方式吗?还是用一种完全不同的方法会更好
在Win Forms
中,用户交互模式与Console
应用程序略有不同。您可以填写多个字段,然后一次提交包含所有值的表单。
在您的情况下,我将使用TextBox
控件作为字符名称,使用Console
0或RaioButton
控件作为字符类。
然后当用户点击提交按钮时,调用CCD_ 22。
此外,您还可以使用验证控件来验证用户输入。