1

我继承了带有人员表单(带有地址、电话等)的原型公司应用程序。

现在在提到的那个人表单上,一个标签+文本字段是表单本身的子项,而不是它在视觉上所属的面板的子项。

如何在 VS 2008 设计器中将控件的父级从窗体更改为现有面板?

更新:

啊,看来是我心爱的牛人为了我高兴而留下的超神奇自定义组框控件有问题。拖入一个普通的组框可以工作......

更新 2:

在文档大纲的帮助下,我可以看到我们在应用程序中的自定义“GroupBoxExt”是有缺陷的,将控件拖到面板上(或只是更改面板上控件的位置)将其分配给表单。

更新 3:

现在我发现了错误(感谢文档大纲提示),我去谷歌搜索并在CodeGuru上找到了一个自定义组框。那篇文章的作者发现你需要用

[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))]

使其表现得像一个漂亮的容器。

4

2 回答 2

2

如果您希望在设计器中执行此操作,您正在寻找的是“文档大纲”面板(它位于“其他窗口”下的“视图”菜单下)。从那里您可以在大纲中按名称拖动控件并重新分配父控件。

希望这可以帮助!

于 2009-03-30T00:37:38.447 回答
0

我不确定你问的是什么。你能试着澄清一下这个场景吗?

但是,如果您想更改控件的父级,您需要做的就是使用 Controls 属性使该控件成为面板的子级。

myPanel.Controls.Add(target)

这应该将目标的父级更新为 myPanel。

如果您尝试通过设计器执行此操作,您需要做的就是将目标控件拖到面板上,这应该会处理好它。

于 2009-03-30T00:34:00.687 回答