更新:2007 年 11 月
在本课中,您将学习如何使用 My.Computer.FileSystem 对象来检索文件夹中文件的名称。
文件夹是 Microsoft Windows 中的一个区域,可用于存储文件。Microsoft Windows 提供了一些特殊文件夹来帮助您归类文件,例如文档、图片和音乐文件。
| .gif) 说明: | 
|---|
| 在 Windows XP 中,这些文件夹命名为“我的文档”、“图片收藏”和“我的音乐”。在 Windows Vista 中,这些文件夹的名称中没有“我的”,而分别命名为“文档”、“图片”和“音乐”。不过,本课中的代码可同时在 Windows XP 和 Windows Vista 上运行。 | 
在本课程中,您将创建一个图片查看器应用程序,以便在其中显示在“图片”文件夹中找到的图片文件。当您在 ListBox 中选择某项时,相应的图形将显示在 PictureBox 控件中。
获取文件
您可以通过使用 My.Computer.FileSystem.FileExists 方法并指定文件夹路径和文件名来检查特定文件是否存在。
若要检索文件夹中所有文件的名称,可以使用 My 对象来获取特定文件夹中包含的所有文件的集合。此外,还可以通过指定模式来查找具有唯一名称的文件。
使用 My.Computer.FileSystem.GetFiles 方法可以返回指定文件夹中的文件。可以传递一个可选通配符列表来指定要返回的文件模式。例如,可以通过指定文件应当具有 .gif 扩展名 (*.gif*) 来检索所有图形交换格式 (GIF) 图像文件的名称。可以添加诸如联合图像专家组 (JPEG) 等更多图形格式类型,只要指定 (*.jpg*) 扩展名并用逗号分隔扩展名即可。
可以通过使用 My.Computer.FileSystem.SpecialDirectories 对象来指定特殊文件夹,如“图片”。这将返回每个文件的名称(包括完整路径)。然后可以循环访问返回的文件名并将每个文件名添加到 ListBox。
试一试!
创建应用程序的用户界面 (UI)
- 在“文件”菜单上,单击“新建项目”。 
- 在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。 
- 在“名称”框中,键入“图片查看器”,然后单击“确定”。 - 一个新的 Windows 窗体项目随即打开。 
- 单击窗体并在“属性窗口”中更改以下属性: - 属性 - 值 - Text - 图片查看器 - Size - 400, 472 
- 将“ListBox”控件添加到窗体中,保留默认名称“ListBox1”。 
- 单击“ListBox”并更改以下属性: - 属性 - 值 - HorizontalScrollBar - True - Size - 370, 82 
- 将“PictureBox”控件添加到窗体中,保留默认名称“PictureBox1”。 
- 单击“PictureBox”并更改以下属性: - 属性 - 值 - BorderStyle - FixedSingle - SizeMode - StretchImage - Size - 370, 285 
- 将一个“Button”控件添加到窗体中。 
- 更改“Button”的下列属性: - 属性 - 值 - Name - LoadPictures - Text - 加载图片 - Size - 80, 23 
创建图片查看器的 UI 后,便可编写代码来检索文件名。
检索文件名
- 双击“加载图片”按钮以在“代码编辑器”中输入默认事件处理程序。 
- 在 LoadPictures_Click 事件处理程序中,添加下面的代码以检索“图片”文件夹中的所有 GIF 和 JPEG 文件,并在列表框中显示它们的文件名。该代码指定不能通过指定 SearchTopLevelOnly 搜索选项来搜索位于“图片”文件夹中的子文件夹。 - ' Clear the list box and the picture box. Me.ListBox1.Items.Clear() Me.PictureBox1.ImageLocation = "" ' Add each image in the Pictures directory to list box. For Each foundImage As String In _ My.Computer.FileSystem.GetFiles( _ My.Computer.FileSystem.SpecialDirectories.MyPictures, _ FileIO.SearchOption.SearchTopLevelOnly, "*.gif*", "*.jpg*") Me.ListBox1.Items.Add(foundImage) Next
- 添加下列代码,以在“图片”文件夹中没有图像时显示消息框来通知用户。 - If Me.ListBox1.Items.Count < 1 Then MsgBox("There are no JPEG or GIF images in" _ & " the Picture folder.") End If
- 按 F5 运行程序。 
- 当窗体出现时,单击“加载图片”按钮。 - “图片”目录中每个 GIF 或 JPEG 文件的文件名和路径都显示在列表框中。 
- 关闭图片查看器应用程序。 
在本示例中,“图片”目录中文件的路径太长,必须滚动至右侧才能看到实际的文件名。也可以通过分隔文件夹路径和文件名来分析每个字符串。有关更多信息,请参见详细了解:分析文件路径。
显示图片
如果还能预览每个图片,则向列表框添加文件名将会更加有趣。在此过程中,将在“ListBox1”的 SelectedIndexChanged 事件处理程序中编写代码,以在PictureBox 中显示选定的图片。
查看图片
- 在代码编辑器中的“类名”下拉列表中,单击“ListBox1”。 
- 在“方法名称”下拉列表中,单击“SelectedIndexChanged”以创建事件处理程序。 
- 在 ListBox1_SelectedIndexChanged 事件处理程序中,添加下列代码以显示选定图片。 - Me.PictureBox1.ImageLocation = Me.ListBox1.SelectedItem
- 按 F5 运行程序。 
- 单击该按钮从“图片”目录中加载文件,然后单击列表框中的文件名。每次单击列表中的项时,就会显示一个新图片。 
- 关闭图片查看器应用程序并保存项目。您将在下一课中使用此项目。 
后续步骤
在本课中,您学习了如何检索文件夹中的文件名并在 Windows 窗体上显示它们。在下一课中,您将学习如何将文件名保存到文本文件。在详细了解:分析文件路径中,您还会学到有关分析文件名的更多知识。
下一课:写入文本文件