6

我需要打开一个 FrmEscalacao,它将 FrmAdmin 的信息发送到 FrmEscalacao,并带有一个名为“time”的字符串

这是 FrmAdmin 的代码

public partial class FrmAdmin : Form
{
    private string time;

    public FrmAdmin(string time)
    {
        InitializeComponent();

        this.time = time;
    }

    public void btnEscalar_Click(object sender, EventArgs e)
    {
        this.Hide();
        FrmEscalacao f1 = new FrmEscalacao();
        f1.ShowDialog();
    }

}

这是 FrmEscalacao 的代码

public partial class FrmEscalacao : Form
{
    public string time;

        private void FrmEscalacao (string time)
        {

            InitializeComponent();

            this.time = time;

            SQLiteConnection ocon = new SQLiteConnection(Conexao.stringConexao);
            DataSet ds = new DataSet();
            ocon.Open();
            SQLiteDataAdapter da = new SQLiteDataAdapter();
            da.SelectCommand = new SQLiteCommand("Here is the SQL command");
            DataTable table = new DataTable();
            da.Fill(table);
            BindingSource bs = new BindingSource();
            bs.DataSource = table;
            DataTimes.DataSource = bs;
            ocon.Close();

        }

它返回一个错误

private void FrmEscalacao (string time)
4

2 回答 2

4

您只能使用与类名称匹配的构造函数。如果是构造函数的声明,那么应该是

public FrmEscalacao(string time) {...}

构造函数不应该有任何返回类型。private如果它要用于创建该类型的实例,则不应声明它;它应该是public

然后你应该使用它:

FrmEscalacao f1 = new FrmEscalacao("your time"); 

也就是说,您必须为timetype 的参数指定值string

于 2012-10-16T00:44:41.313 回答
1

您需要将参数传递给构造函数。

所以,要么添加另一种方法,如下所示:

public FrmEscalacao()
{
    //all your code
}

此外,在接受参数的构造函数上将构造函数更改为 public void。

public FrmEscalacao(string time)
{
    //all your code
}

构造函数自动不返回任何内容,因此您无需将它们标记为无效。

于 2013-05-14T19:38:27.523 回答