滚动列表包含多个对象

时间:2017-01-17 12:16:17

标签: c# winforms

我一直在制作表格让用户保存他的进度。有6个虚拟插槽,包含从文件夹中读取的不同保存文件。我希望只使用滚动条进行相同的设置,以便用户滚动保存文件,以防他有超过6个。

设置为:picturebox,单击时加载保存文件,标记文件名和文件日期,picturebox删除保存文件,下面的面板保存文件时单击插槽。

下面是我用来加载6个保存文件的代码。 (我将通过阅读保存文件来获取日期,因为它包含日期,但我还没有完成该部分。)

    private void loadsavestoscreen()
    {
        string filename;
        string extension;
        string locpath = @"C:\test";
        String[] allfiles = System.IO.Directory.GetFiles(locpath, "*.*", System.IO.SearchOption.TopDirectoryOnly);
        int counter = 0;
        foreach (String file in allfiles)
        {
            if (counter == 6 || counter == allfiles.Length - 1)
            { labelcheck(); break; }
            if ((extension = Path.GetExtension(file)) == ".dat")
            {
                filename = Path.GetFileNameWithoutExtension(file);
                //Console.WriteLine(filename);
                changelbl(counter, filename);
                counter++;
            }
        }
    }

'labelcheck'检查文本是否正确,否则会隐藏标签。

'lblchange'更改正确插槽上标签的名称。

我的问题是:我如何实现滚动条以允许用户在超过6时滚动浏览更多保存文件?

以下是表单的摘录:Save Form

我对编程有点新意,所以如果我犯了一些明显的错误,我会道歉。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

没有列表对象或容器,这不是很容易解决。

我建议您使用DataGridViewListView对象。您可以轻松地将文件条目作为对象添加到这些列表中。他们有一个选项Scrollable,你可以设置为true或false。

我还会为保存文件条目创建一个类(存储标签/图像位置和内容),并将它们添加到DataGridViewListView

如果您想知道如何将图像添加到这些控件: How do add image to System.Windows.Forms.ListBox?