簡體   English   中英

視覺繼承 - 將設計器中的控件添加到托管在 TableLayoutPanel 中的面板

[英]Visual Inheritance - Add controls at designer to a Panel hosted in TableLayoutPanel

我正在制作一個基本表單 (WinForm),用作我的通用表單設計的藍圖,我希望面板(屏幕截圖中的 P_Content)是控件放置在子表單中的位置。

但是說P_Content被鎖定在子窗體中,在代碼中添加控件顯然有效,但在Design View中卻沒有。

該面板是公共的,其父容器 ( TableLayoutPanel ) 也是如此。

這看起來很基本,但我似乎找不到任何答案為什么會發生這種情況。

P_Content 是大的空白空間。

截圖

看來您已將Panel托管在TableLayoutPanel 根據文檔,您應該避免TableLayoutPanel視覺繼承:

TableLayoutPanel控件不支持 Windows 窗體設計器中的視覺繼承。 派生類中的TableLayoutPanel控件在設計時顯示為“鎖定”。

該行為不僅限於TableLayoutPanel並且它記錄了一些其他控件也不支持從基本表單的視覺繼承,並且將始終是只讀的並且在繼承的表單中顯示為鎖定,無論您使用什么修飾符:

並非所有控件都支持從基本窗體的視覺繼承。 以下控件不支持本演練中描述的場景:

  • WebBrowser
  • ToolStrip
  • ToolStripPanel
  • TableLayoutPanel
  • FlowLayoutPanel
  • DataGridView

無論您使用何種修飾符(私有、受保護或公共),繼承形式的這些控件始終是只讀的。

暫無
暫無

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

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