从另一种形式访问一个,是因为它是一个参考?

时间:2015-05-31 21:37:53

标签: c# sql visual-studio-2010 visual-studio-2012

我在表单1中有一个名为tbControl的tabControl。 例如,当我按下按钮时,我想用以下内容更改此tabControl的索引:

this.tbControl.SelectedIndex = 2;

有效。

然后我有一个表格2,其中我已经完成了这个:

Form1 form1 = new Form1();

然后我尝试这样做:

form1.tbControl.SelectedIndex=1;

但它不起作用,tabControl不会改变索引。 有人可以告诉我为什么吗?

1 个答案:

答案 0 :(得分:2)

您正在更改未显示的SelectedIndex上的new Form1。您可能希望更改现有SelectedIndex上的Form1,因此您需要找到将其传递到其他表单的方法。一些伪代码:

class Form1
{
    private void onShowForm2()
    {
        Form2 f2 = new Form2();
        f2.MainForm = this;
        f2.Show();
    }
}

class Form2
{
    public Form1 MainForm { get; set; }
    private void DoStuff()
    {
        //Change selected index on passed in instance of Form1
        MainForm.tbControl.SelectedIndex=1;
    }

}