我正在尝试将控制台应用程序转换为一个表单我得到了正确显示的表单部分,但无法弄清楚如何使程序从表单而不是控制台获取其数据任何建议?
控制台应用
namespace doomsday
{
public class doomsday
{
private string firstName;
public string GetName()
{
return this.firstName;
}//end method GetName
public doomsday()
{
Console.Write(" what is your first name: ");
this.firstName = Console.ReadLine();
}// end default constructor
public string DisplayGreeting()
{
return "Hello, " + this.GetName();
}
static void Main()
{
Application.EnableVisualStyles();
doomsday hello = new doomsday();
Console.WriteLine(hello.DisplayGreeting());
Console.ReadLine();
Application.Run(new Form1());
}
表格申请
namespace doomsday
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}
答案 0 :(得分:3)
在Visual Studio窗体设计器中,向窗体中添加一个按钮。双击该按钮可为按钮的Click事件添加事件处理程序。在这个新方法的主体内部,您可以访问文本框的Text属性。例如:
private void button1_Click(object sender, EventArgs e)
{
string name = textBox1.Text;
textBox2.Text = "Hello, " + name;
}
答案 1 :(得分:2)
Change private string firstName;
到
public string firstName;
namespace doomsday
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void whenTextbox1LoseFocus {
var greet = new doomsday();
greet.firstname = textBox1.Text;
textbox2.text = greet.DisplayGreeting()
}
}
}
答案 2 :(得分:1)
我不确定我是否会告诉您,但如果您想将控制台中的条目传递给表单,则需要在表单上显示公共属性。
Form1 form = new Form1();
form.theDay = doomsday;
Application.Run(form);
在Form1
上只提供一个这样的属性:
public doomsday theDay { get; set; }