如何通过点击按钮执行方法

问题描述 投票:0回答:1

我怎样才能在一个按钮上添加一个函数,来运行我创建的方法。我想把一个数组写到一个消息对话框中,只需按一下按钮就可以了,但我似乎没有任何进展,所以我转向stackoverflow寻求帮助,因为google并没有真正帮助我解决我的问题。

 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# button methods
1个回答
0
投票

你需要将事件处理程序与按钮控件绑定,并在该事件处理程序中编写逻辑。如果是windows窗体应用程序,你可以这样做。

this.button1 = new System.Windows.Forms.Button();
this.button1.Click += new System.EventHandler(this.button1_Click);

private void button1_Click(object sender, EventArgs e)
{
//Call your methods here
}

0
投票

你可以调用 Tractor() 恰如其分 Console.WriteLine(). 两者都是静态函数。

然而这个函数完全乱了套,可能无法挽救。正确的名称应该是 printTractorsToConsole(). 由于它包含 Console.WriteLine() 调用,它与Console应用程序紧密相连--避免将函数与一个显示技术捆绑在一起。

你需要一个更通用的函数来创建并返回一个字符串。然后你可以将这个字符串发送到 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 Event里。但是这个函数看起来像是为了调试而打印的,所以可能会有用。

© www.soinside.com 2019 - 2024. All rights reserved.