c# - 如何通过单击按钮执行方法
问题描述
如何将功能添加到将运行我创建的方法的按钮。我想通过按下按钮将数组写入消息对话框,但我似乎没有得到任何帮助,所以我转向 stackoverflow 寻求帮助,因为谷歌搜索并没有真正帮助我解决我的问题。
static void Tractors(Tractor[] tractors)
{
for (int i = 0; i < tractors.Length; i++)
{
Console.WriteLine((i + 1) + ", " + tractors[i].ToString());
}
}
这是我写出“拖拉机”表格的函数。
private void button1_Click(object sender, EventArgs e)
{
}
我应该在 button1_click 方法中写入什么内容才能正常工作?
解决方案
您将调用Tractor()
与调用完全相同的方式Console.WriteLine()
。两者都是静态函数。
但是,该功能完全混乱,并且可能无法挽救。正确的名称是printTractorsToConsole()
. 由于它包含Console.WriteLine()
调用,因此它与控制台应用程序密切相关——避免将功能绑定到这样的一种显示技术。
您需要一个更通用的函数来创建和返回字符串。然后,您可以将该字符串发送到WriteLine()
、分配到Label.Text
或您希望该字符串成为的任何其他位置。字符串主要用于从用户输入或输出到用户 - 并且有太多方法可以获取它们。
//Not tested against a compiler, may contain syntax errors
static string TractorArrayToString(Tractor[] tractors){
string output = "";
for (int i = 0; i < tractors.Length; i++)
{
output += (i + 1) + ", " + tractors[i].ToString()) + Environment.NewLine;
}
return output;
}
但即使是函数也可能是个坏主意,因为该函数会将所有表示绑定到一种格式。通常,您会将该循环直接写入 Click 事件中。但是这个函数看起来像是为了调试目的而打印的,所以它可能会起作用。
推荐阅读
- java - 以编程方式断开与 Firebase 的连接
- django - for 循环中每个类别的元素列表
- timezone - fullcalendar - 根据时区设置当前日期
- java - Intellij 测试通过,mvn 测试失败
- javascript - 单击下一个元素时重置颜色
- azure - 从 Azure Function App 中删除多个函数
- security - 有哪些方法可以为每个用户创建独特的盐?
- c# - 打开页面的我的按钮不起作用。使用 Xamarin(C#、XAML)并将项目重组为 MVVM
- spring - 开发中的代理前端 HTTP 调用
- c - Clion + WSL:“没有什么可运行的”