我創建簡單的自定義控制 - 從Component類派生:從Component - OnCreate事件派生的自定義控件?
public partial class TrialChecker : Component
{
private int _trialDays;
public int TrialDays
{
get { return _trialDays; }
set { _trialDays = value;}
}
public TrialChecker()
{
InitializeComponent();
MessageBox.Show(TrialDays.ToString());
}
public int GetTrialDays()
{
return _trialDays;
}
}
這種控制將被用來在我的應用程序來實現審判的功能。應用程序(開始之前)應該檢查試用剩餘天數並顯示包含試用剩餘天數和文本框的通知對話框以寫入解鎖密鑰。
但是我想在使用這個控件時減少需要的代碼量。所以,我的想法是將試用檢查代碼放入我的控件中,並且 - 在創建控件後,它應該顯示剩餘的日期。
試用期(TrialDays屬性)是在用戶設計器上設置的,它應該可用於僅使用afeter控件創建。正如你所看到的,我試圖把它放到構造函數中,但它不起作用,因爲在將TrialDays設置爲在用戶設計器中輸入值之前調用構造函數。並且MessageBox始終顯示默認值0.
沒有任何可以覆蓋的OnLoad或OnCreate事件。那麼,如何使用設計師輸入的值自動檢查試用狀態?
我發現爲組件定義LayOut事件,然後檢查DesignTime == false ...在此時我可以訪問該組件,因爲它在運行時出現...很有用。 – BillW