gpt4 book ai didi

c# - Windows 窗体与简单控制台应用程序的区别

转载 作者:行者123 更新时间:2023-11-30 19:50:04 25 4
gpt4 key购买 nike

我目前开始将我的控制台项目“移植”到 WinForms,但我似乎很失败。

我只是习惯了控制台结构:

我让我的类根据来自控制台的输入相互交互。一个简单的流程:

Input -> ProcessInput -> Execute -> Output -> wait for input

现在我得到了这个大的 Form1.cs(等)和“Application.Run(Form1);”但我真的不知道我的类如何与表单交互并创建如上所述的流程。

我的意思是,对于表单中的每个“项目”,我只有这些“...._Click(对象发送者....)”。现在我不知道在哪里放置/开始我的流程/循环,以及我的类如何与表单交互。

最佳答案

实际上非常直截了当(虽然我可以理解你的困惑)......

<强>1。输入
有一个 TextBox 和一个 Button。当用户单击按钮时,将 TextBox 中的任何内容视为您的输入。

<强>2。处理输入
在控制台应用程序中,用户在处理输入时无法执行任何操作。在 Windows 窗体应用程序中与此类似的是禁用用户可以提供输入的机制。因此,设置您的 TextBox.Enabled = falseButton.Enabled = false

<强>3。执行
运行您想执行的任何方法。

<强>4。输出
在表单上显示某种消息。这可能只是另一个 TextBox,或一个 RichTextBox...任何你想要的。

<强>5。等待输入
执行第 3 步中的方法并显示第 4 部分中的输出后,您可以继续并重新激活接受输入的机制:TextBox.Enabled = trueButton .Enabled = true.

所以基本上你的代码应该像这样:

void myButton_Click(object sender, EventArgs e) {
try {
myInputTextBox.Enabled = false;
myButton.Enabled = false;

var input = ParseInput(myInputTextBox.Text);

var output = ExecuteMethodWithInput(input);

myOutputTextBox.Text = FormatOutput(output);

} finally {
myInputTextBox.Enabled = true;
myButton.Enabled = true;
}
}

关于c# - Windows 窗体与简单控制台应用程序的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2774830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com