尝试运行方法时出错

时间:2011-08-24 12:22:57

标签: c#

我制作了这个程序,我不知道如何让它运行。我通常在我有button1_Clickprivate void button1_Click(object sender, EventArgs e))和button2_Clickprivate void button2_Click(object sender, EventArgs e))的两大方法中运行我的方法。

我在button1_Click方法中写了this.Lista();,它给了我错误:方法'Lista'没有重载需要0个参数。

public void Lista(object sender, EventArgs e)
{
    string[] col2 = new string[dataGridView1.Rows.Count];

    for (int i = 0; i < dataGridView1.Rows.Count; i++)

            if (col2[i] == "Browse From File...")
            {
                DialogResult result2 = openFileDialog2.ShowDialog();
                if (result2 == DialogResult.OK)
                {
                   // filename = openFileDialog1.FileName;
                }
}
}

3 个答案:

答案 0 :(得分:3)

代码的第一行public void Lista(object sender, EventArgs e)表示方法需要括号中的参数。

所以你应该从Lista(object sender, EventArgs e)删除参数(因为我发现你不会在方法中使用它们)

答案 1 :(得分:2)

您需要提供sendere。或者将其定义为

public void Lista()
{
    string[] col2 = new string[dataGridView1.Rows.Count];

    for (int i = 0; i < dataGridView1.Rows.Count; i++)

            if (col2[i] == "Browse From File...")
            {
                DialogResult result2 = openFileDialog2.ShowDialog();
                if (result2 == DialogResult.OK)
                {
                   // filename = openFileDialog1.FileName;
                }
            }
}

答案 2 :(得分:1)

您需要使用正确的参数调用方法!

您的签名是:

public void Lista(object sender, EventArgs e);

因此,您必须使用所需的参数调用它,例如:

Lista(this,EventArgs.Empty);

您可以从方法中完全删除参数,它们可能是不必要的。您还可以将Button1设置为直接调用Lista,而不是使用默认的单击处理程序来调用此方法。