Componentクラスから派生した単純なカスタムコントロールを作成しました。
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プロパティ)はユーザーデザイナーで設定され、コントロールが作成された直後に使用できるようになります。ご覧のとおり、これをコンストラクターに入れようとしましたが、ユーザーデザイナーに入力されたvalujeにTrialDaysを設定する前にコンストラクターが呼び出されるため、機能しません。また、MessageBoxは常にデフォルト値0を表示します。
オーバーライドできるOnLoadまたはOnCreateイベントはありません。では、デザイナーに入力した値を使用して、トライアルステータスを自動的に確認するにはどうすればよいですか?