用户控件一旦丢弃就会保持拉伸状态

时间:2012-03-07 15:46:55

标签: c# winforms user-controls

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

用户控件上的下拉列表将其anchor属性设置为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个像素来“解决”这个问题,所以当它自己调整大小时实际上是正确的宽度,但我真的不应该到。

1 个答案:

答案 0 :(得分:0)

你可能走在正确的轨道上。它看起来好像停留在离页面不远的地方。我会尝试为初学者删除锚,看看它有什么影响。如果这不起作用,也许尝试不同的锚定组合,看看它对控件有什么影响。

确保没有启用停靠设置,因为它会撤消您在控件上的任何锚定。

检查下载的下拉列表控件是什么。你说它是在用户控件中,但它是在UC的网格内还是其他类似的东西?此外,确保用户控件的大小正确(不在页面范围之外) - 会导致锚定问题。使用背景颜色来测试它。

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

如果所有其他方法都失败了,请删除下拉列表并创建一个新下拉列表,看看是否有同样的问题。有时代码的设计者会出现问题并导致问题,或者您只是意外地改变了一些您不想做的事情。

最后,最后,只需使用普通的drowndownlist;)