如何在tabpages之间传递值并激活另一个

时间:2011-02-23 00:13:15

标签: c# winforms

我的tabpage1有usercontrol1,tabpage2有usercontrol2。

我想将usercontrol1(tabpage1)中的int ID传递给usercontrol2(tabpage2)并激活tabpage2。

我应该使用哪些tabpage属性和方法? 非常感谢

1 个答案:

答案 0 :(得分:1)

一般来说,控件不需要知道兄弟控件 - 他们只知道他们的父级和任何子级(明显的例外是单选按钮控件......)。因此,包含用户控件的表单应负责将值从一个传递给另一个,例如:

usercontrol2.ID = usercontrol1.ID

如果由于用户与usercontrol1进行了互动而需要进行此操作,请提供可用于执行此操作的事件:

// this is probably automatically handled by the designer
usercontrol1.Click += new EventHandler(usercontrol1_Click);

void usercontrol1_Click(object sender, EventArgs e)
{
    usercontrol2.ID = usercontrol1.ID
}

您可以使用要激活的标签调用SelectTab()来激活标签控件中的特定标签:

tabControl.SelectTab(tabMyTab2);

这也可以进入上面的事件处理程序。 (它不能从不同的线程调用,因此将它放在事件处理程序中将避免发生这种情况的任何风险。)