復合控件原則:不直接公開子控件,而是透過包裝屬性暴露必要功能,確保資料封裝與安全性。
public string LabelText
{
get { return label1.Text; }
}
public Color LabelBackColor
{
get { return label1.BackColor; }
set { label1.BackColor = value; }
}
timer1.Interval = 1000 (1 秒)Tick 事件:label1.Text = DateTime.Now.ToLongTimeString();Load 事件啟動:timer1.Enabled = true;public event EventHandler Tick;
protected void OnTick(EventArgs e)
{
if (Tick != null)
Tick(this, e);
}
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = DateTime.Now.ToLongTimeString();
OnTick(e); // 通知容器時間已更新
}
EventHandler、OnXxx 保護方法、null 檢查