C#面板清单

时间:2011-08-23 15:33:11

标签: c# winforms list panel

我想创建包含项目详细信息的面板(包括左侧的缩略图),然后将这些添加到可滚动列表中。就像iPhone上的iTunes如何显示可用的应用程序列表一样。

我做了一些搜索,但到目前为止一直无法找到任何帮助。

是否有人对他们想与我分享的样品有任何想法或链接。

提前致谢, 罗布

1 个答案:

答案 0 :(得分:4)

总之,以下内容在容器中创建了一系列面板,使用垂直滚动条滚动进出视图。

您没有在代码中列出ASP.NET,因此我假设这是基于Windows的表单,而不是基于Web的。我会帮你的:

  1. 创建一个名为GrandChildPanel的面板。在其中,在左侧放置一个图像框,并在图像旁边显示要显示的信息。 此面板将复制每个项目(即iTunes歌曲)。
  2. 将该面板放在另一个名为ChildPanel的等宽,等高的面板中。
  3. 创建另一个名为ParentPanel的面板,并将其宽度设置为其他面板的大小,并为垂直滚动条留出足够的空间。设置高度等于你想要的可滚动区域的高度。
  4. ChildPanel放在ParentPanel的右上角,并在ParentPanel的最右边添加一个垂直滚动条。设置滚动条的高度以占据ParentPanel的整个高度。
  5. 您可能希望向ParentPanel添加边框以显示其边界。
  6. 您可能还想在GrandChildPanel底部添加1或2像素线,以显示面板结束的位置。
  7. 这就是设置。以下是您的代码要求:每次“将项目添加到列表中”(例如,iTunes列表中的每首歌曲),您都会执行以下操作:

    1. 克隆GrandChildPanel
    2. 将克隆指定为ChildPanel的孩子。
    3. 将克隆的Top设置为等于上一个克隆的Top加上其Height
    4. ChildPanel的{​​{1}}设置为等于任何给定Height的高度乘以克隆数。
    5. 将滚动条的最大值设置为等于GrandChildPanel的高度。
    6. 现在,要使这个可滚动的所有操作都要在滚动或更改垂直滚动条的事件上执行以下操作:将ChildPanel的{​​{1}}设置为等于垂直滚动bar的值(“position”)乘以ChildPanel