向标签页运行时添加控件

时间:2011-08-30 17:52:21

标签: c# winforms user-controls controls tabpage

我正在使用C#和winForms,我有一些tabcontrols,其中包含一些标签页, 我想添加我的用户控制的所有标签页,这将是最好的,如果我可以在用户点击标签页后添加它。它只适用于我,当我在构造函数中添加此控件时 - 在应用程序启动时的延迟 - 大约3秒,非常多。

我想在运行时添加这些控件,比如

tabPage1.onClickEvent()
{
tabPage1.Controls.Add(myUserControl);
}

但它没有用,我也试过使用Invalidate或Refresh方法,但它不起作用。

那么有没有可能在构造函数之外的其他方法中添加此userControls? 也许是它的问题,我在TabControl里面有TabControl,我必须通过父TabControl添加这个控件? 谢谢!

1 个答案:

答案 0 :(得分:0)

尝试双击设计器中的标签页,或者您可以手动添加事件处理程序:

tabPage1.Click += new EventHandler(tagPage1_Click);

我不知道tabPage1是否是动态的,但如果不是,则应将上述事件处理程序添加到designer.cs文件中。

以下是代码中的事件处理程序:

protected void tabPage1_Click(object sender, EventArgs e)
{
    tagPage1.Controls.Add(new TextBox());
}