簡體   English   中英

顯示控件列表的 Visual Studio 窗體設計器

[英]Visual Studio Form Designer Showing List of Controls

我知道讓表單設計器工作是一件棘手的事情。 泛型,x64,項目 XML 的微妙問題......但也許有人可以就我當前的問題提供建議,即我創建的繼承自TabPage的組件,當我嘗試在設計器中查看它時顯示為列表它的控件,像這樣:

在此處輸入圖片說明

提前致謝。

您不能將TabPage作為設計器的根,而您可以對Panel或其他容器控件執行相同操作。 限制是因為, TabPage只能托管在TabControl ,甚至不能托管在設計器的覆蓋控件中:

無法將 TabPage 添加到“System.Windows.Forms.Design.DesignerFrame+OverlayControl”。 TabPages 只能添加到 TabControls。

當控件的基類具有DocumentDesigner類型的設計器時,控件可以顯示為設計器的根。 FormUserControl就是這樣的控件,這意味着當您創建新的Form1:Form或新的UserControl1:UserControl ,由於基類派生自可設計的控件,因此可以在設計器中以 root 身份編輯該類。

我相信您可以通過使用UserControl來處理您的要求,但出於學習目的(或作為一種解決方法),如果您想讓從Panel派生的控件可設計,您可以將以下代碼復制到代碼文件中:

public class MyControl: MyDesignableControl
{
}
[Designer(typeof(DocumentDesigner), typeof(IRootDesigner))]
public class MyDesignableControl : Panel
{

}

然后保存它,然后雙擊它,你可以看到你可以像根控件一樣設計它。

然后在完成設計后,將Panel更改為TabPage

DocumentDesigner 備注

此設計器是根設計器,這意味着在設計模式下查看相關文檔時,它為關聯文檔提供根級設計模式視圖。

您可以使用DesignerAttributeDesignerAttribute與類型相關聯。 有關自定義設計時行為的概述,請參閱擴展設計時支持

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM