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

Sun*_*wal 8 .net c# desktop-application winforms

我用C#创建了一个带有两个用户控件的Windows应用程序.

当表单加载第一个用户控件加载(并显示)时,当我单击下一步我加载第二个用户控件.

现在,我希望在用户控件可见后调用此用户控件的方法.

我无法这样做.如果从Load事件调用该方法,它将在控件可见之前被触发.

有人可以指导我如何在控件可见后调用方法.

SwD*_*n81 3

您可能想使用VisibleChanged事件。

例如:

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

private void UserControl2VisibleChanged(object sender, EventArgs e)
{
   if(userControl2.Visible)
   {
      CallMyMethodIWantToRunWhenUserControl2IsVisibleHere();
   }
}
Run Code Online (Sandbox Code Playgroud)

  • `VisibleChanged` 可能不会满足询问者的要求。当首次加载“UserControl”时,不一定会引发它,因为它的可见性实际上并没有*改变*。(默认情况下,“Visible”属性为“True”。) (2认同)