2017-03-09 62 views
1

感谢您的帮助。设置新实例的属性

首先,我创建了一个带有(用户定义的)属性的表单。 如见下文

public partial class nfrmtableitem : Form 
{ 
    private DataRow _datarow; 
    public DataRow U_Table_Row { get { return _datarow; } set { _datarow = value; } } 

    public nfrmtableitem() 
    { 
     InitializeComponent(); 
    } 
} 

我创建属性类型形式的第二种形式。 如见下文

public partial class nftableshow : Form 
{ 
    private DataTable _datatable; 
    public DataTable U_DataTable { get { return _datatable; } set { _datatable = value; } } 

    private Form _inputform1; 
    public Form U_DGV_InputForm1 { get { return _inputform1; } set { _inputform1 = value; } } 
} 

时调用它: 任何地方

nftableshow newfrmtableshow = new nftableshow() 
{ 
    Name = "newfrmtableshow", 
    Text = "Show the table", 
    MdiParent = this, 
    U_DGV_InputForm1 = new nfrmtableitem(), 
}; 
newfrmtableshow.Show(); 

但我不能使用第二种形式的第一种形式财产。 并且该属性不在实例中。

//the button in second form 
private void button1_Click_Click(object sender, EventArgs e) 
{ 
    Form f1 = _inputform1 as Form; 
    /* 
    * { 
    * U_Table_Row = db.maindataset.Tables["customer"].NewRow(), 
    * }; 
    */ 
    f1.Show(); 
} 

问: 如何使用第一种形式与特定的(用户自定义)财产第二种形式。 Regards

回答

0

您应该使用点符号来访问第一个窗体的属性。尝试使用

//the button in second form 
private void button1_Click_Click(object sender, EventArgs e) 
{ 
    Form f1 = _inputform1 as Form; 

{ 
f1.U_Table_Row = db.maindataset.Tables["customer"].NewRow(), 
}; 

f1.Show(); 
} 
+0

谢谢我试过但不是真的 – Alireza