C# 如何在用户控件中添加显示的事件

C# 如何在用户控件中添加显示的事件,c#,winforms,user-controls,C#,Winforms,User Controls,我有一个用户控件,我必须添加一个显示事件,或者用户控件有另一个事件,其行为类似于windows窗体的显示事件。您可以使用usercontrol的Paint事件来伪造自己显示的方法: public UserControl1() { InitializeComponent(); } public event EventHandler Shown; private bool wasShown = false; protected override void OnPaint(PaintEvent

我有一个用户控件,我必须添加一个显示事件,或者用户控件有另一个事件,其行为类似于windows窗体的显示事件。

您可以使用usercontrol的Paint事件来伪造自己显示的方法:

public UserControl1() {
  InitializeComponent();
}

public event EventHandler Shown;
private bool wasShown = false;

protected override void OnPaint(PaintEventArgs e) {
  base.OnPaint(e);
  if (!wasShown) {
    wasShown = true;
    if (Shown != null) {
      Shown(this, EventArgs.Empty);
    }
  }
}

参考:我已经使用了该代码,但它没有被执行。您对此有何看法?使用Load事件并在关闭事件时处理表单(以便下次调用Load)。那样的话,你会得到和这次活动一样的行为吗?