如何从另一个表单属性访问?

时间:2014-01-09 14:24:40

标签: c# winforms

我有2个WinForms,在 Form1 中我声明了这个:

public int NumberOfContacts { get; set; }

我需要从 Form2 访问该属性。

4 个答案:

答案 0 :(得分:2)

打开Form2时,请使用此代码:

Form2 f2  = new Form2();
f2.Show(this);

Form2:

var value = ((Form1)Owner).NumberOfContacts;

答案 1 :(得分:2)

如果您已从form1创建了form2的实例,则可以将其设置为:

Form2 form2 = new Form2();
form2.NumberfOfContacts = this.NumberOfContacts;
form2.Show();

你也可以将form1.NumberOfContacts的值传递给form2的构造函数,如下所示:

Form2 form2 = new Form2(this.NumberOfContacts);
form2.Show();

Form2课程:

public int NumberOfContacts { get; set; }

public Form2(int numberOfContacts)
{
    NumberOfContacts = numberOfContacts;
}

答案 2 :(得分:1)

如果要访问和更改其他表单属性,可以使用以下方式:

private void button1_Click(object sender, EventArgs e)
{
    frm_main frmmain = new frm_main();
    frmmain.Visible = true;
    frmmain.Enabled = true;
}

答案 3 :(得分:0)

这是一个关于从其他表单加入表单成员的常见问题,我将假设您要从Form1的当前活动实例访问NumberOfContacts,在这种情况下,您可以简单地,就像您在:

Form1

 public partial class Form1 : Form
    {
        public int NumberOfContacts { get; set; }
        public Form1()
        {
            InitializeComponent();
        }
    }

并在 Form2

public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
            // ActiveForm will give you access to the current opened/activated Form1 instance
            var numberOfContacts  = ((Form1) Form1.ActiveForm).NumberOfContacts;
        }
    }

这应该有用。