我已将视图列表添加到Panel中,如下所示:
panelComponent.Controls.Add(viewListComponent);
一切正常。处理鼠标事件,重新绘制作品。但有一个问题:我不能动态地移动它。如果我更改control.Top
变量,它就会在那里停留而不会移动。
就像控制器粘在左上角一样。调整右侧和底部属性的工作正常!我没有动态添加就没有问题。
导致这种情况的原因,以及如何解决?
答案 0 :(得分:1)
两种可能的解释。首先是Dock属性,将它对接到顶部使控件保持在容器的顶部,无论您分配给Top或Location属性。
另一个是值类型,Location属性是Point,一个struct。此代码不会移动控件:
var lbl = new Label();
panel1.Controls.Add(lbl);
var pos = lbl.Location;
pos.Y = 42; // No effect
答案 1 :(得分:0)
尝试使用Location
属性:
viewListComponent.Location = new Point(42, 42);