2010-08-01 86 views

回答

2

使控件知道其父項通常是一個壞主意。然而,有一個專門的方法來檢測父母的BackColor改變,所以它沒關係。 BackColor是一個環境屬性,如果它沒有明確分配,則具有與父級的BackColor相同的值。所以利用這一點:

using System; 
using System.Windows.Forms; 

class MyTreeView : TreeView { 
    protected override void OnParentChanged(EventArgs e) { 
     if (this.Parent != null) this.BackColor = this.Parent.BackColor; 
     base.OnParentChanged(e); 
    } 
    protected override void OnParentBackColorChanged(EventArgs e) { 
     this.BackColor = this.Parent.BackColor; 
     base.OnParentBackColorChanged(e); 
    } 
}