100165768.htm

来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 539 行 · 第 1/3 页

HTM
539
字号


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
	
        30.1.3  示例:文件浏览器
</title></head>
<body>
    <div class="area">

        

        <div class="col1">
            <div class="lineBlue">
            </div>
            <!-- title -->
            <div class="arcTitle">
                <h1>
                    <a href="../16">
                        C#高级编程(第3版)【全文连载】
                    </a>
                </h1>
                <div style="text-align: center; font-size: 15px">
                    <a href="100165768.htm">
                        30.1.3  示例:文件浏览器
                    </a>
                </div>
                <div style="text-align: center; font-size: 15px">
                    <a class="url" href="../../default.htm">http://book.csdn.net/</a>
                    2006-10-13 14:41:00
                </div>
                <div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
                    <div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
                        图书导读
                    </div>
                    <div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
                        <!--导读-->
                        <h1 id="divCurrentNode" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165768.htm'><font color='red'>30.1.3  示例:文件浏览器</font></a></h1>
                        <div id="divRelateNode" style="padding-left: 2px">
                        <div style='float:left;width:49%'>·<a href='100165765.htm'>30.1  管理文件系统</a></div><div style='float:right;width:49%'>·<a href='100165766.htm'>30.1.1  表示文件和文件夹的.NET类</a></div><div style='float:left;width:49%'>·<a href='100165767.htm'>30.1.2  Path类</a></div><div style='float:right;width:49%'>·<a href='100165769.htm'>30.2  移动、复制和删除文件</a></div><div style='float:left;width:49%'>·<a href='100165770.htm'>30.3  读写文件</a></div><div style='float:right;width:49%'>·<a href='100165771.htm'>30.3.1  流</a></div></div>
                    </div>
                </div>
                </div>
            <!-- main -->
            <div id="main">
                <div id="text"> <link href="css.css" rel="stylesheet" type="text/css" /><h3 style='margin-top:8.15pt;margin-right:0cm;FTEL:8.15pt;margin-left:
0cm'><a FTEL="_Toc507815207"><span lang=EN-US>30.1.3 &nbsp;</span></a><span
style='font-family:黑体'>示例:文件浏览器</span></h3>

<p class=MsoNormal><a FTEL=FileProperties1><span style='font-family:宋体'>本节要举一个</span><span
lang=EN-US>C#</span></a><span style='font-family:宋体'>示例应用程序</span><span
lang=EN-US>FileProperties</span><span style='font-family:宋体'>。该程序显示了一个简单的用户界面,可以浏览文件系统,查看文件的创建时间、最后一次访问时间,最后一次写入时间和文件的大小。这个应用程序的代码可以从</span><span
lang=EN-US>Wrox</span><span style='font-family:宋体'>网站上</span><span lang=EN-US>www.wrox.com</span><span
style='font-family:宋体'>下载。</span></p>

<p class=MsoNormal><span lang=EN-US>FileProperties</span><span
style='font-family:宋体'>应用程序如图</span><span lang=EN-US>30-2</span><span
style='font-family:宋体'>所示。在窗口顶部的主文本框中输入文件夹或文件的名称,再单击</span><span lang=EN-US>Display</span><span
style='font-family:宋体'>按钮。如果键入了文件夹的路径,其内容就显示在列表框中。如果键入文件的路径,其内容就显示在窗体底部的文本框中,父文件夹的内容则显示在列表框中。屏幕图</span><span
lang=EN-US>30-2</span><span style='font-family:宋体'>显示了使用</span><span
lang=EN-US>FileProperties</span><span style='font-family:宋体'>查看一个文件夹的情况。</span></p>

<p align=center><span lang=EN-US><img width=364 height=361
src="30/image003.jpg"></span></p>

<p align=center style='FTEL:8.15pt'><span style='font-family:宋体'>图</span><span
lang=EN-US>&nbsp; 30-2</span></p>

<p class=MsoNormal><span style='font-family:宋体'>在浏览文件系统时,单击右边列表框中的任何一个文件夹,就可以查看它下面的文件夹,或者单击</span><span
lang=EN-US>Up</span><span style='font-family:宋体'>按钮,查看其父文件夹。图</span><span
lang=EN-US>30-2</span><span style='font-family:宋体'>显示了</span><span lang=EN-US>My
Documents</span><span style='font-family:宋体'>文件夹的内容。用户还可以单击列表框中的一个文件名,选择该文件。此时其属性就会显示在应用程序底部的文本框中,如图</span><span
lang=EN-US>30-3</span><span style='font-family:宋体'>所示。</span></p>

<p align=center><span lang=EN-US><img width=365 height=360
src="30/image004.jpg"></span></p>

<p align=center style='FTEL:8.15pt'><span style='font-family:宋体'>图</span><span
lang=EN-US>&nbsp; 30-3</span></p>

<p class=MsoNormal><span style='font-family:宋体'>注意,还可以使用</span><span
lang=EN-US>DirectoryInfo</span><span style='font-family:宋体'>属性显示文件夹的创建时间、最后一次访问时间和最后一次修改时间。我们只显示己选定文件的这些属性,把情况弄得简单一些。</span></p>

<p class=MsoNormal><span style='font-family:宋体'>在</span><span lang=EN-US>Visual
Studio .NET</span><span style='font-family:宋体'>中创建一个标准的</span><span lang=EN-US>C#
Windows</span><span style='font-family:宋体'>应用程序项目,从工具箱的</span><span lang=EN-US>Windows
Forms</span><span style='font-family:宋体'>区域添加各种文本框和列表框。用更直观的名称来重命名这些控件:</span><span
lang=EN-US>txtBoxInput</span><span style='font-family:宋体'>、</span><span
lang=EN-US>txtBoxFolder</span><span style='font-family:宋体'>、</span><span
lang=EN-US>buttonDisplay</span><span style='font-family:宋体'>、</span><span
lang=EN-US>buttonUp</span><span style='font-family:宋体'>、</span><span
lang=EN-US>listBoxFiles</span><span style='font-family:宋体'>、</span><span
lang=EN-US>listBoxFolders</span><span style='font-family:宋体'>、</span><span
lang=EN-US>textBoxFileName</span><span style='font-family:宋体'>、</span><span
lang=EN-US>textBoxCreationTime</span><span style='font-family:宋体'>、</span><span
lang=EN-US>txtBoxLastAccessTime</span><span style='font-family:宋体'>、</span><span
lang=EN-US>txtBoxLastWriteTime</span><span style='font-family:宋体'>和</span><span
lang=EN-US> textBoxFileSize</span><span style='font-family:宋体'>。</span></p>

<p class=MsoNormal><span style='font-family:宋体'>然后需要指出,将使用</span><span lang=EN-US>System.IO</span><span style='font-family:宋体'>命名空间:</span></p>

<p class=a6 style='margin-top:8.15pt;margin-right:0cm;FTEL:0cm;
margin-left:21.45pt;FTEL:.0001pt;FTEL:18.45pt'><span
lang=EN-US>using System;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>using
System.Drawing;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>using
System.Collections;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>using
System.ComponentModel;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>using
System.Windows.Forms;</span><span class=MsoCommentReference><span lang=EN-US
style='font-size:8.0pt;font-family:"Baskerville BE Regular";display:none;
letter-spacing:.2pt'> </span></span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>using
System.Data;</span></p>

<p class=2 style='margin-top:0cm;margin-right:0cm;FTEL:8.15pt;
margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>using System.IO;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>本章中所有与文件系统相关的示例都要使用该命名空间,但我们没有显式说明其余示例中的这部分代码。然后在主窗体中添加一个成员字段:</span></p>

<p class=a6 style='margin-top:8.15pt;margin-right:0cm;FTEL:0cm;
margin-left:21.45pt;FTEL:.0001pt;FTEL:18.45pt'><span
lang=EN-US>&nbsp;&nbsp; public class Form1 : System.Windows.Forms.Form</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
{</span></p>

<p class=2 style='margin-top:0cm;margin-right:0cm;FTEL:8.15pt;
margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
private string currentFolderPath;</span></p>

<p class=MsoNormal><span lang=EN-US>currentFolderPath</span><span
style='font-family:宋体'>存储了文件夹的路径,其内容显示在列表框中。</span></p>

<p class=MsoNormal><span style='font-family:宋体'>现在需要为用户生成的事件添加事件处理程序。用户可能输入的是:</span></p>

<p class=1 style='margin-left:37.55pt;FTEL:-16.1pt'><span lang=EN-US>●<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style='font-family:宋体'>用户单击</span><span lang=EN-US>Display</span><span
style='font-family:宋体'>按钮:此时,需要确定用户在主文本框中键入的内容是文件的路径还是文件夹的路径。如果是文件夹,列表框中就会列出该文件夹中的文件和子文件夹。如果是文件,仍要对包含该文件的文件夹进行上述操作,还要在下面的文本框中显示文件的属性。</span></p>

<p class=1 style='margin-left:37.55pt;FTEL:-16.1pt'><span lang=EN-US>●<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style='font-family:宋体'>用户单击</span><span lang=EN-US>Files</span><span
style='font-family:宋体'>列表框中的一个文件名:此时,在下面的文本框中显示文件的属性。</span></p>

<p class=1 style='margin-left:37.55pt;FTEL:-16.1pt'><span lang=EN-US>●<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style='font-family:宋体'>用户单击</span><span lang=EN-US>Folders </span><span
style='font-family:宋体'>列表框中的一个文件夹名:此时,将清理所有的控件,并且在列表框中显示这个子文件夹的内容。</span></p>

<p class=1 style='margin-left:37.55pt;FTEL:-16.1pt'><span lang=EN-US>●<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style='font-family:宋体'>用户单击</span><span lang=EN-GB>Up</span><span
style='font-family:宋体'>按钮</span><span style='font-family:宋体'>:</span><span
style='font-family:宋体'>此时</span><span style='font-family:宋体'>,将清理所有的控件,并且在列表框中显示文件夹的父文件夹中的内容。</span></p>

<p class=MsoNormal><span style='font-family:宋体'>在列出事件处理程序的代码前,先列出实际完成所有任务的方法的代码。首先,需要清除所有控件的内容,这个方法是自我解释性的:</span></p>

<p class=2 style='margin-top:8.15pt;margin-right:0cm;FTEL:0cm;
margin-left:21.45pt;FTEL:.0001pt;FTEL:18.45pt'><span
lang=EN-US>protected void ClearAllFields()</span></p>

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>{</span></p>

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
listBoxFolders.Items.Clear();</span></p>

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
listBoxFiles.Items.Clear();</span></p>

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?