将继承的控件添加到面板

时间:2010-02-07 09:40:19

标签: c# .net visual-studio winforms

我有一个带有两个按钮的基本表单(例如“确定”和“取消”)。我想使用TableLayoutPanel并在其中包含两个按钮。子表单应该能够向表中添加更多控件,并通过设计器修改其布局。

到目前为止,我无法让这个工作。我尝试过以下方法:

  • TableLayoutPanel添加到子表单。 Designer拒绝将两个按钮添加到面板中。
  • 在基本表单中添加TableLayoutPanel。无法从子表单向面板添加控件。

3 个答案:

答案 0 :(得分:5)

在基本表单中,您必须为TableLayoutPanel设置属性Modifiers = Protected,并在子表单中设置要更改的任何其他控件。

答案 1 :(得分:3)

您无法在派生类中编辑TableLayoutPanel的原因是因为您尝试使用称为“可视继承”的WinForms功能。不幸的是,TableLayoutPanel不支持可视继承:

http://msdn.microsoft.com/en-us/library/ms171689.aspx(请参阅页面底部) http://msdn.microsoft.com/en-us/library/1z3efhd2.aspx

这就是它在继承的控件中被阻止的原因。我不确定为什么他们不支持这个功能,但我最近遇到了同样的问题,最终还是要以另一种方式解决问题。

答案 2 :(得分:0)

由于近一年以来没有得到答案,WindowsForms正在慢慢失败,但答案似乎是“只是不要这样做”。