【发布时间】:2011-07-23 02:13:02
【问题描述】:
我正在使用Panel 来保存控件列表(用户定义)。我添加面板的方式是在将控件添加到面板之前根据Panel.Controls.Count 设置控件的位置。
comRec.Location = new Point(comRec.Location.X, panel1.Controls.Count * 25);
panel1.Controls.Add(comRec);
现在,这很好用,看起来正是我想要的样子。但是,一旦我们达到窗口的限制,AutoScroll 就会启用(我确实想要)。现在,如果用户滚动到Panel 的底部,这最终会改变面板中每个控件的位置。我的第一个 comRec.Location 不是 (0,0),而是类似于 (0,-219)。所以现在,当用户添加另一个 comRec 对象时,它会在对象之间创建一个巨大的间隙。
我的问题是,使用滚动条来解释位置变化并仍在使用我的添加系统的最佳方法是什么。我假设这将不得不检查滚动条的值并使用它来确定位置。
另外,有没有更好的方法来显示控件列表?我应该使用Panel吗?
【问题讨论】:
标签: c# .net user-controls panel