每個 Component 除有 Component Designer,還有 DocumentDesigner。兩者區別:

範例:BaseClass1 設計 DocumentDesigner,Class1 繼承 BaseClass1 並設計 Component Designer。基類文檔設計器功能在衍生類中可見。
[Designer(typeof(BaseClass1DocumentDesigner), typeof(IRootDesigner))]
public class BaseClass1 : Component { }
public class BaseClass1DocumentDesigner : ComponentDocumentDesigner {
public BaseClass1DocumentDesigner() {
this.Verbs.Add(new DesignerVerb("Test1", OnTest1));
}
void OnTest1(object s, EventArgs e) { MessageBox.Show("Test1"); }
}
[Designer(typeof(Class1Designer), typeof(IDesigner))]
public partial class Class1 : BaseClass1 { }
public class Class1Designer : ComponentDesigner {
public Class1Designer() {
this.Verbs.Add(new DesignerVerb("Test2", OnTest2));
}
void OnTest2(object s, EventArgs e) { MessageBox.Show("Test2"); }
}
效果:基類文檔設計器動作在衍生類文檔視窗中出現。
