C# 无法以其他形式将值返回给DataGridView

C# 无法以其他形式将值返回给DataGridView,c#,winforms,datagridview,C#,Winforms,Datagridview,在我的AnalyzerForm项目中有一个名为logDataGridView的datagridview。 为了从项目中名为Form2的另一个中访问其数据源属性,下面的访问字段已定义到AnalyzerForm.Designer.cs: Public System.Windows.Forms.DataGridView _DGV { get {return this.logDataGridView;} set {logDataGridView.DataSource = value;}

在我的
AnalyzerForm
项目中有一个名为
logDataGridView
的datagridview。 为了从项目中名为
Form2
的另一个中访问其
数据源
属性,下面的访问字段已定义到
AnalyzerForm.Designer.cs

Public System.Windows.Forms.DataGridView _DGV
{
    get {return this.logDataGridView;}
    set {logDataGridView.DataSource = value;}
}
最后,我尝试使用
Form2
中名为
t
的填充
DataTable

AnalyzerForm AZ = new AnalyzerForm();
AZ._DGV.DataSource = t;
logDataGridView中不会显示任何内容
!!!
有人知道错误的部分吗?

实际上,错误的部分只是重新实例化父窗体,如下所示:

AnalyzerForm AZ = new AnalyzerForm();
必须使用父窗体引用,它负责启动子窗体。可以为子父级定义二级构造函数,并在其内部提供父级窗体对象:

ParentForm pForm;

public childForm(ParentForm FRM)
{
    pForm = FRM;
    // Then component initializing...
}
最后,父窗体所需的组件(在我的示例中是datagridview)是可能的:

pForm._DVG.DataSource = t;

在get部分返回DataGridView,并在set部分设置数据源。这可能不是一个好主意。不管怎样,在设置数据源之后,您是否尝试过刷新?@Biri:事实上,
刷新
没有任何作用……可能是将数据源设置为null,然后再设置为真实值?顺便问一下,什么是数据源?什么类型的对象?另外,你能检查一下集合后的数据源是什么吗?@Biri:
datasource
是一个
DataTable
对象,是以正确的方式填充的。。。但即使是空设置和它的重置也没有做什么特别的事情!我认为这是不可能的,因为当你们说new xy()时,你们会得到一个新的对象,它和以前创建的任何其他对象几乎并没有关系。@Biri:事实上是这样的。事实上,第一个
parentForm
对象的存在是显而易见的,但是处理它的方法与上面类似。。。谢谢你的贡献。