【问题标题】:Scrolling list with multiple objects具有多个对象的滚动列表
【发布时间】:2017-01-17 12:16:17
【问题描述】:

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

设置是:点击时加载保存文件的图片框,文件名和文件日期的标签,图片框删除保存文件,以及点击插槽时保存文件的面板。

下面是我用来加载 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 个时,我将如何实现滚动条以允许用户滚动浏览更多保存文件?

这是一个 sn-p 形式:

我对编程有点陌生,所以如果我犯了一些明显的错误,我深表歉意。感谢您的帮助。

【问题讨论】:

  • 我希望能够加载与保存文件夹中一样多的保存文件,因此我希望有一个滚动条来使用它来滚动所有这些保存文件,而无需更改大小形式
  • 在面板内使用带有滚动条的表格布局控件

标签: c# winforms


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-20
    • 2019-02-01
    • 2019-12-10
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多