我需要打开一个FrmEscacacao,它将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)
答案 0 :(得分:4)
您只能使用与该类名称匹配的构造函数。 如果它是构造函数的声明,那么它应该是
public FrmEscalacao(string time) {...}
构造函数不应该有任何返回类型。你不应该声明它private
,如果它将被用来创建那种类型的instanse;它应该是public
。
然后你应该使用它:
FrmEscalacao f1 = new FrmEscalacao("your time");
也就是说,您必须为time
类型的string
参数指定值。
答案 1 :(得分:1)
您需要将参数传递给构造函数。
所以,要么添加另一种方法如下:
public FrmEscalacao()
{
//all your code
}
另外,在带参数的构造函数上将构造函数更改为public void。
public FrmEscalacao(string time)
{
//all your code
}
构造函数自动不返回任何内容,因此您无需将它们标记为无效。