设置新实例的属性

时间:2017-03-09 07:41:10

标签: forms properties instance

谢谢你的帮助。

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

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

    public nfrmtableitem()
    {
        InitializeComponent();
    }
}

我创建了第二个表单,其属性为Form的类型。 如下所示

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();
}

问题: 如何在第二种形式中使用具有特定(用户定义)属性的First表单。 此致

1 个答案:

答案 0 :(得分: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();
}