2012-03-07 49 views
0

这可能是一个winforms newb错误,但我创建了一个用户控件,它上面有一个组件 - 一个Telerik下拉列表控件。当我最初将它放在窗体上时,它看起来是正确的。但是,只要我运行表单,控件就会展开表单。用户控件一直放在窗体上一直拉伸

用户控件上的下拉列表将其锚点属性设置为top/left/right/bottom。

前:

Here's what it looks like immediately after dropping it on the form

后:

Here's what it looks like after running

到底什么我做错了吗?

编辑:多一点信息:如果我关闭设计器并打开备份,它会立即改变大小。代码本身似乎不会导致问题。实际上,我注释掉了所有的代码(除了InitializeComponent()调用),我仍然看到了这个问题。控件本身仍然有效 - 当我运行表单时,它会填充我期待的数据。它只是伸展。

我可以通过将下拉列表的宽度设置为比我实际希望的大小小35个像素来“解决”问题,因此当它调整大小时,它实际上是正确的宽度,但我真的不应该不得不。

+0

用户控件的形式?您是否尝试“识别”(例如,分配不同的背景颜色,蓝色下拉框,红色的用户控件...),每个控件都在哪里? – 2012-03-07 15:49:39

+0

可能您可以发布一些代码来向我们展示如何实现控件 – Benni 2012-03-07 15:58:54

+0

从设计人员,如果调整包含用户控件的表单的大小,是否会看到此问题?检查用户控件和用户控件上的组件上的锚定设置。 – roken 2012-03-07 16:12:34

回答

0

您可能是在正确的轨道上。它看起来好像正在锚定在离页面很远的地方。我会尝试删除初学者的锚点,以查看其具有的效果。如果这不起作用,也许尝试锚定的不同组合,以查看它对控制有什么影响。

确保没有启用对接设置,因为它会撤销对控件的任何锚定。

检查是否包含dropdownlist控件。你说它是在一个usercontrol中,但是它在UC的网格中还是其他类似的东西?另外,确保用户控件尺寸正确(不超出页面边界) - 会导致锚定问题。使用背景颜色来测试。

接下来,我会检查控件的最大/最小大小(也许考虑设置一个?)。

如果一切都失败,请删除下拉列表并创建一个新列表,看看是否有同样的问题。有时候,代码的设计者一方会出现问题,并且会导致问题,或者你只是意外地改变了你不想要的东西。

最后,不得已,只是使用正常的drowndownlist;)