当用户控件可见后如何调用方法

8
我已经用C#创建了一个Windows应用程序,其中包含两个用户控件。
当窗体首次加载时,第一个用户控件被加载(并显示),当我点击“下一步”时,加载第二个用户控件。
现在我想要在用户控件可见时调用该用户控件的一个方法。
但是我无法做到这一点。如果我从Load事件调用该方法,它会在控件可见之前触发。
请问有人能指导我如何在控件可见后调用该方法吗?

2
我前几天刚试过这个。不过说句实话,我很快意识到,迫使我寻找这种事件的原因是我的设计有问题。你在这里尝试做什么? - Cody Gray
1个回答

3

您可能希望使用VisibleChanged事件。

例如:

userControl2.VisibleChanged += new EventHandler(this.UserControl2VisibleChanged);

private void UserControl2VisibleChanged(object sender, EventArgs e)
{
   if(userControl2.Visible)
   {
      CallMyMethodIWantToRunWhenUserControl2IsVisibleHere();
   }
}

2
VisibleChanged可能不是提问者所期望的功能。它并不一定在UserControl首次加载时被触发,因为其可见性实际上并没有改变。(Visible属性默认为"True") - Cody Gray
更新答案,附带一个示例,展示了在用户控件可见时调用方法的方式。 - SwDevMan81
您可以始终在初始化时使用userControl2.Visible = true;并触发您的方法.. :) - Pabuc
1
无法使用您提供的代码。它在控件可见之前就调用了该方法。请再次检查代码。 - Sunil Agarwal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接