1

关于twoForms的永恒问题:

frm02 frm02 = new frm02();
frm02.Text = "Objects";
ds02 = new DataSet();
ds02.ReadXml(path02);
frm02.dgv02.DataSource = ds02.Tables[0];  //error: dgv02 is inaccessible...
frm02.ShowDialog();

请帮忙!

4

1 回答 1

5

你需要dgv02 公开。默认情况下,当您通过设计器添加类型时,它们是不公开的。您可以在设计窗口中编辑它们的属性,并将可访问性级别更改为公共。

话虽如此,更好的选择可能是创建一个返回适当控件的公共属性,或者更好的是,允许您设置数据。例如,如果您将此方法添加到表单中:

public void SetDatasource(DataSet data)
{
     this.dgv02.DataSource = data;
}

然后,您可以将其称为:

frm02.SetDatasource(ds02);
于 2012-06-09T21:22:45.173 回答