关于两种形式的永恒问题:
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();
Run Code Online (Sandbox Code Playgroud)
请帮忙!
你需要dgv02 公开.默认情况下,当您通过设计器添加类型时,它们不是公共的.您可以在设计窗口中编辑其属性,并将可访问性级别更改为public.
话虽这么说,一个更好的选择可能是创建一个返回适当控件的公共属性,或者更好的是,允许您设置数据.例如,如果将此方法添加到表单中:
public void SetDatasource(DataSet data)
{
this.dgv02.DataSource = data;
}
Run Code Online (Sandbox Code Playgroud)
然后您可以将其称为:
frm02.SetDatasource(ds02);
Run Code Online (Sandbox Code Playgroud)