我需要(水平)模板化面板的可滚动列表!

时间:2010-02-16 09:37:20

标签: c# .net winforms

所以...例如我有一些模板 - 面板包含来自对象的编辑和数据 现在我已经拥有动态的对象数量,我需要在某处动态计算面板: - /

如果有任何方法可以在WinForms上创建此框架,我对任何想法感兴趣。

1 个答案:

答案 0 :(得分:1)

首先,将“模板”转换为自定义控件,为了简单起见,我将其称为MyControl,具有MyData属性。

现在,假设您需要水平滚动Panel,每MyControl MyData,您可以这样做:

IEnumerable<MyData> = GetMyData();
foreach( MyData thisData in GetMyData() )
{
    MyControl thisControl = new MyControl();
    thisControl.Dock = Left; // Or right, if you prefer
    thisControl.Value = thisData;
    panel1.Controls.Add( thisControl ); // Where panel1 is a Panel that represents the container for the scrolling-ness
}

显然,您需要调整以适合您的类型,也可以根据需要设置一些其他属性。