簡體   English   中英

加載用戶控件后是否會觸發事件?

[英]Is there an event that fires after load for a user control?

我在C#winforms中使用用戶控件,我希望在load事件之后以及控件顯示后執行一些代碼。 如果不存在這樣的事件,有可能發生嗎?

您可以使用此列表中的事件之一 OnPaint將最有可能成為候選人。

表單事件:

Construtor
加載
布局
活性
塗料
閉幕
關閉
停用
部署

對於控件:

輸入
的GotFocus
離開
證實
驗證
引發LostFocus

如果找不到適合您的事件 ,本文將說明如何構造和觸發事件。

  1. 在用戶控件中創建公共方法
  2. 在父贏表顯示事件上調用方法

這將調用您要運行一次的代碼。

您還可以使用用戶控制畫圖事件,但這將導致Expensive調用。 因為您的代碼將在每次重繪控件時執行。

因此最好使用一個標志,它可以確定是否運行代碼

  private bool _run =true;

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM