我不喜欢任何可用的解决方案,所以我开始做我自己的向导界面。我为向导的每个步骤使用GroupBox,但由于每个步骤(每个GroupBox)都必须具有相同的结构和样式,因此我决定使用自定义控件。自定义GroupBox控件与其他控件内
现在我需要拥有这些元素的自定义分组框:
一个FlowLayoutPanel的在其使用设计使开发人员可以把期望的控制。 (例如两个TextBox控件,以便用户可以输入用户名和密码。)
在该FlowLayoutPanel中的标签来描述该步骤。
一个按钮返回。
另一个FlowLayoutPanel的用户可以把自定义按钮
这里是一个预览:
问题#1
当我创建一个新的用户控件和让它继承GroupBox,我不能得到一个GroupBox,我可以放置它并定位它。所有我的设计师看到的是这样的信息:
问题#2
既然我不能让它继承分组框中像我想它,我试图把一个分组框在做自定义UserControl。 (我不想这样做,我只是做了这个,所以我可以提供一些截图)。在完成之后,我必须在FlowLayoutPanels上启用DesignDesignMode,以便开发人员可以使用设计器在其中添加控件。问题在于它们也变得可移动和可调整大小(我不希望这样,它们被正确锚定,不应该被移动或调整大小),并且当您尝试移动它们时,您会得到“对象引用未设置为一个东西。”这是难看使它:
问题#3
我想在主FlowLayoutPanel的元素为中心。为此,我必须放置一个控件(描述标签)并将其大小调整为FlowLayoutPanel的宽度,以便后面的控件居中。 (凌乱的解决方法,如果你问我,用TableLayoutPanel做这件事看起来比较容易,但是它们的单元格只能容纳一个元素,你可以添加一个Panel来让单元格容纳更多的元素,但这样你就失去了居中。)问题是我必须设置对于我添加的每个控件都锚定为无。我可以钩住一些东西(比如OnDesignerControlAdded ???)来自动将添加控件的Anchor设置为None吗?
所有的答案都将帮助我建立的开源项目Magician on GitHub和搭载它的许多其他开源项目。预先感谢您的所有努力。对于问题#1
你有没有找到答案?如果没有,我可能会帮助(至少有问题#1)。 –
@Charles不,我没有。 – AlicanC