是否有一个事件在加载后为用户控件触发?

时间:2014-06-19 16:34:07

标签: c# winforms

我在C#winforms中使用用户控件,我希望在加载事件之后以及控件显示后执行一些代码。如果不存在这样的事件,是否可以制作一个?

2 个答案:

答案 0 :(得分:1)

您可以使用this list. OnPaint中的一个事件最有可能成为候选人。

表格活动:

Construtor
负载
布局
激活
涂料
关闭
封闭式
停用
处理

和控制:

输入
的GotFocus
离开
验证
验证
LostFocus

如果找不到符合您需求的文章,请参阅explains how to construct and fire event.

答案 1 :(得分:0)

  1. 在用户控制中创建公共方法
  2. 在Parent win-form Shown Event
  3. 上调用该方法

    这将调用您想要运行一次的代码。

    您也可以使用用户控制绘制事件,但这将是昂贵的调用。因为每次重绘控件时都会执行代码。

    因此最好使用一个标志来确定是否运行代码

    即。

      private bool _run =true;
    
      private void Control_Paint(object sender, PaintEventArgs e)
            {
                if(!_run) return;
                //call the code you need to run
               _run = false;
            }