3

我想创建自己的自定义控件,它基本上是一个具有 3 行和 1 列的 TableLayoutPanel。顶行和底行将包含标签(横幅),中间行是我将添加其他控件的位置。问题是当我尝试从该控件构建其他表单/控件时,设计器无法识别中间面板。我如何得到它?如果我将一个文本框拖到中间并设置 Dock=Fill,它将覆盖条目表单/控件。另外,有什么方法可以让设计者拒绝将控件拖动到顶部和底部(横幅)行?我已经尝试了以下链接中的步骤,但没有任何运气(http://support.microsoft.com/?scid=kb%3Ben-us%3B813450&x=21&y=15)。

4

1 回答 1

3

我想到了。诀窍是创建我自己的设计器,它继承自 ParentControlDesigner 并覆盖 Initialize 方法并为内部内容面板调用 EnableDesignMode。最重要的是,我需要将我的用户控件的 Designer 属性设置为这个新的设计器。详细信息显示在这里

不过有一个问题。我可以将控件拖到我创建的内容面板上,一切看起来都很好。但是,一旦我重新编译,控件就会消失。他们还在那里,我只是认为他们在横幅面板之前被绘制了。我将为这个问题创建一个单独的线程。

于 2009-09-23T15:29:08.633 回答