我应该如何处理这个任务?我应该使用 if/else 语句吗?
作业 1:
编写一个接受任意数量的正值的 Windows 应用程序。用户点击一个按钮可以随时处理所有输入的数据。结果输出:
- 所有 n 个输入数字的总和,后跟 n 行,按输入顺序显示:
- 原来输入的号码;
- 此数字占总和的百分比。
我应该如何处理这个任务?我应该使用 if/else 语句吗?
作业 1:
编写一个接受任意数量的正值的 Windows 应用程序。用户点击一个按钮可以随时处理所有输入的数据。结果输出:
textbox
提示输入值。buttons
. ProcessButton
用于处理到目前为止的值和INPUT
用于获取用户输入的按钮(key event handler
如果您更喜欢ENTER
在文本框中键入值后按下,也可以使用)List<int>
根据您的问题将它们存储在 a 或任何内容中。ProcessButton
然后调用List<int>.Sum()
并打印值List<int>
usingforeach
语句中的每个项目。虽然我不完全理解这个项目。这至少应该为您指明一个可靠的方向。
此时,您的项目将以设计器模式打开一个画布。帮助描述一次正在发生click
的事情Form
。
在窗口的右侧,您将看到Solution Explorer
和Properties
。
解决方案资源管理器:这将向您显示项目的内容。它包含以下内容:
Assembly
、Resource
和Settings
信息。Assemblies
有助于扩展您的项目或链接到您可能正在做的其他应用程序。下一个项目将是您的Form
. 这是最重要的部分;因为这将是您进行所有操作的地方。
现在我提到的第二个项目;Properties
. 不是其中的一个,Solution Explorer
而是分开的标签。将向您展示该组件的所有修改。在这种情况下,您的Form
.
在左侧,您实际上要做的是转到Toolbox
. 这些是微软一开始就为您提供的所有组件。只需将Textbox
组件拖出Toolbox
到您的Form
(画布)上。
您会注意到轮廓,其中有几个transformation
点供您操作位置和尺寸。
在我们进一步讨论之前,我将分解发生的事情。您已textbox
在Form
. 默认情况下,它将被调用TextBox1
。用它是什么然后它是所需的功能来识别组件是一种很好的做法。如果您要查找的内容是用户名,请将其命名为txtFirst
。这样就更容易理解你在操纵什么。
由于我的目标是帮助您指明正确的方向,请按照以下步骤操作:
Label
-lblInput
为其命名(将文本更改为您选择的名称)。Textbox
-命名它txtInput
。Rich Textbox
-命名它rtxtDisplay
。现在这三个组件将天生就是您的User Interface
. 所有的交互都将在这里发生。但是我们Element
在界面上缺少一个。一个按钮,这很重要,因为它将创建所谓的Event
. 这些基本上会通知界面发生了变化,因此看起来它正在做某事。
Button
拖出工具箱,名称为btnAdd
.现在你有了一个完整的界面;所以现在双击按钮。你的屏幕现在会改变;你会看到所有这些文本。
重要的部分是它通过选择按钮将您导航到的位置。
private void btnAdd_Click(object sender, EventArgs e)
{
// Implementation Here.
}
这样Event
您就可以执行逻辑来创建应用程序。现在,我不会为您编写代码。但我会做一些接近的事情,这样你就可以适应和学习。
private void btnAdd_Click(object sender, EventArgs e)
{
// Method One: "Casting"
// By default txtInput is a String, you require integers. So you can add.
/* So you would want to ensure proper Error Handling exists, otherwise when you cast you'll receive an invalid cast exception. */
txtInput.Text = (int)data;
}
因此,您可以看到//
和/*
是不同的评论方法,以使您的逻辑易于理解。我用它来解释你正在发生的事情。txtInput.Text
接受任何输入值,string
现在casted
是integer
.
private void btnAdd_Click(object sender, EventArgs e)
{
// Method Two: "Array"
int[] data;
}
现在,这实际上会在你的内存中分配一个引用。这将允许您将多个东西存储到Array
. 如果您将所有textbox
输入传递到您的Rich Textbox
. 然后第二个按钮可以填充数组以添加每个项目。
在这个例子中,我实际上会写一个完整的方面,但正如我所说,你需要做一些事情来使它满足你的需要。
public partial class Form1 : Form
{
// Create Storage
List<string> store = new List<string>();
private void button1_click(object sender, EventArgs e)
{
// Will add the input of the textbox to list each time button clicked.
store.Add(textbox1.Text);
}
private void button2_click(object sender, EventArgs e)
{
// Logic to Add the items.
}
}
你的一半战斗就在那里。帮助你从概念上真正理解这一点的东西,将是这些物品来帮助你完成你的项目。
Casting
Arrays
Generics
Loops
希望对您有所帮助。这些是一些基本课程;我可能会建议 MSDN 上的入门级教程课程。