我一直在制作表格让用户保存他的进度。有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时滚动浏览更多保存文件?
我对编程有点新意,所以如果我犯了一些明显的错误,我会道歉。谢谢你的帮助。
答案 0 :(得分:0)
没有列表对象或容器,这不是很容易解决。
我建议您使用DataGridView
或ListView
对象。您可以轻松地将文件条目作为对象添加到这些列表中。他们有一个选项Scrollable
,你可以设置为true或false。
我还会为保存文件条目创建一个类(存储标签/图像位置和内容),并将它们添加到DataGridView
或ListView
。
如果您想知道如何将图像添加到这些控件: How do add image to System.Windows.Forms.ListBox?