这很难解释。
以下是我的自定义控件的工作原理:
这是自定义列表视图的基本概念。
现在:每个ListviewItem的高度为111&奇迹般有效。 直到我添加了295个项目,之后的项目会得到一些奇怪的东西。
每个ListviewItem包含类似于图片框,进度条,标签,一些按钮和放大器的内容。 Paint事件中的一些自定义绘画。
现在ListviewItems上绘制的所有内容(在Paint事件中)都正确定位。但是,使用Controls.Add()添加的一些(!)控件不是,它们似乎得到负Y值。
当我在SomeControl.Location = new Point(x,y)之后设置断点时,控件确实具有正确的值,但在我使用Controls.Add()将控件添加到ListviewItem后,Y值为负。 最奇怪的部分是某些控件没有得到这个,这可能是解决这个问题的一种方法。
我真的希望你能理解我想弄清楚的东西,如果你不明白的话,请问我。
编辑:这是WinForms。 无法显示很多代码,因为它只是Control.Location = x;和Controls.Add(c);