我想创建自己的自定义控件,它基本上是一个包含3行1列的TableLayoutPanel。顶部和底部行将包含标签(横幅),中间行将添加其他控件。问题是,当我尝试从此控件构建其他窗体/控件时,设计器无法识别中间面板。我怎么得到它?如果我将文本框拖到中间并设置Dock = Fill,它将覆盖entrie表单/控件。此外,有没有办法让设计师拒绝将控件拖动到顶部和底部(横幅)行?我已尝试过以下链接中的步骤,但没有任何运气(http://support.microsoft.com/?scid=kb%3Ben-us%3B813450&x=21&y=15)。
答案 0 :(得分:3)
我明白了。诀窍是创建我自己的继承自ParentControlDesigner的设计器并覆盖Initialize方法并为内部内容面板调用EnableDesignMode。除此之外,我还需要将用户控件的Designer属性设置为这个新设计器。详细信息显示为here。
但有一个问题。我可以将控件拖到我创建的内容面板上,一切看起来都很好。但是,一旦我重新编译,控件就会消失。他们还在那里,我只是觉得他们在横幅面板之前被吸引了。我将为这个问题创建一个单独的线程。