首页 > 解决方案 > 如何通过单击按钮执行方法

问题描述

如何将功能添加到将运行我创建的方法的按钮。我想通过按下按钮将数组写入消息对话框,但我似乎没有得到任何帮助,所以我转向 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 方法中写入什么内容才能正常工作?

标签: c#buttonmethods

解决方案


您将调用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 事件中。但是这个函数看起来像是为了调试目的而打印的,所以它可能会起作用。


推荐阅读