【发布时间】:2016-02-03 04:22:02
【问题描述】:
我在 Winforms 中有一个面板,它在方法调用期间在其中加载面板。 在方法调用中,我编写了以下代码:
//to get number of panel present in main panel so that new panel position can be set
int counT = panel1.Controls.Count;
Panel p = new Panel();
p.Location = new Point(3, 3 + (counT * 197));
p.Size = new Size(280, 150);
//To add panel to parent panel
panel1.Controls.Add(p);
每次我调用该方法时,它都会在主面板中加载一个面板。如果我不滚动滚动条,一切正常。一旦我向下滚动滚动条,然后我调用该方法,面板之间的距离就会增加。
根据写的逻辑,两个面板之间的距离沿 Y 轴应该是 197 像素,但它会增加更多。
我已经设置AutoScroll=true
任何帮助!!!
【问题讨论】:
-
您的代码将每个新面板的位置设置为前一个面板位置的 197 像素偏移。它没有将间距设置为 197px...
-
为什么不将边距设置为 197px?
-
感谢大家的建议...我尝试了 FlatLayoutPanel 而不是使用 Panel,它的工作原理很吸引人...无需设置内部面板位置和所有...