既存の Tabcontrol クラスの設計が気に入らないため、UserControl から派生した独自の Tabcontrol クラスを作成しました。正常に動作しますが、デザイン時のサポートをコントロールに追加したいのですが、開始方法がわかりません。いくつかのチュートリアルを読みましたが、Tabcontrol の作成方法を説明しているものはありません。手伝ってくれてありがとう ;)
編集:
public class TabListDesigner : ParentControlDesigner
{
private DesignerVerb addVerb;
private DesignerVerb removeVerb;
private DesignerVerbCollection verbs;
protected TabList TabListControl { get { return this.Control as TabList; } }
public override DesignerVerbCollection Verbs
{
get
{
if (verbs == null)
{
verbs = new DesignerVerbCollection();
addVerb = new DesignerVerb("Add TabListPage", this.AddVerbHandler) { Description = "Add a new TabListPage to the parent control." };
removeVerb = new DesignerVerb("Remove TabListPage", this.RemoveVerbHandler) { Description = "Remove the currently selected TabListPage from the parent control." };
verbs.Add(addVerb);
verbs.Add(removeVerb);
}
return verbs;
}
}
private void AddVerbHandler(object sender, EventArgs e)
{
this.TabListControl.Add();
}
private void RemoveVerbHandler(object sender, EventArgs e)
{
//this.RemoveSelectedTabListPage();
}
public override void InitializeNewComponent(IDictionary defaultValues)
{
base.InitializeNewComponent(defaultValues);
this.TabListControl.Add();
this.TabListControl.Add();
}
}
これは私がやったことですが、うまくいきません。TabListControl.Add() メソッドが機能します (実行時にテストしましたが、デザイン時のサポートが必要です)
私ができるようにしたい: - コントロールは、デザインタイムに 2 つの TabPages で初期化する必要があります - デザインタイムに TabPages を追加/削除します - デザインタイムに TabPages を切り替えます - デザインタイムに異なる TabPages にコントロールを追加します