100165768.htm
来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 539 行 · 第 1/3 页
HTM
539 行
textBoxFolder.Text = "";</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
textBoxFileName.Text = "";</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
textBoxCreationTime.Text = "";</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
textBoxLastAccessTime.Text = "";</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
textBoxLastWriteTime.Text = "";</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
textBoxFileSize.Text = "";</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>}</span></p>
<p class=MsoNormal><span style='font-family:宋体'>其次,定义一个方法</span><span
lang=EN-US>DisplayFileInfo()</span><span style='font-family:宋体'>,该方法用于在文本框中显示给定文件的信息。它带有一个参数,即文件的完整路径名,它根据该路径创建一个</span><span
lang=EN-US>FileInfo</span><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'><a
FTEL=FileInfo2><span lang=EN-US>protected void DisplayFileInfo(string
fileFullName)</span></a></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>
FileInfo theFile = new FileInfo(fileFullName);</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
if (!theFile.Exists)</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
throw new FileNotFoundException("File not found: " + fileFullName);</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
textBoxFileName.Text = theFile.Name;</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
textBoxCreationTime.Text = theFile.CreationTime.ToLongTimeString();</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
textBoxLastAccessTime.Text = theFile.LastAccessTime.ToLongDateString();</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
textBoxLastWriteTime.Text = theFile.LastW<span style='letter-spacing:.1pt'>rite</span>Time.ToLongDateString();</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
textBoxFileSize.Text = theFile.Length.ToString() + " bytes";</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>}</span></p>
<p class=MsoNormal><span style='font-family:宋体'>注意,如果在定位文件时有任何问题,我们将采取措施,处理抛出的异常。异常在调用例程</span><span
lang=EN-US>(</span><span style='font-family:宋体'>一个事件处理程序</span><span
lang=EN-US>)</span><span style='font-family:宋体'>中被处理。最后,定义一个方法</span><span
lang=EN-US>DisplayFolderList()</span><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 DisplayFolderList(string folderFullName)</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>
DirectoryInfo theFolder = new DirectoryInfo(folderFullName);</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
if (!theFolder.Exists)</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
throw new DirectoryNotFoundException("Folder not found: " </span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
+ folderFullName);</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
ClearAllFields();</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
textBoxFolder.Text = theFolder.FullName;</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
currentFolderPath = theFolder.FullName; </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>
// list all subfolders in folder</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
foreach(DirectoryInfo nextFolder in theFolder.GetDirectories())</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
listBoxFolders.Items.Add(nextFolder.Name);</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>
// list all files in folder</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
foreach(FileInfo nextFile in theFolder.GetFiles())</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
listBoxFiles.Items.Add(nextFile.Name);</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>}</span></p>
<p class=MsoNormal><span style='font-family:宋体'>现在看看事件处理程序。用户单击</span><span
lang=EN-US>Display</span><span style='font-family:宋体'>按钮的事件处理程序是最复杂的,因为它需要<span
style='letter-spacing:.1pt'>处理用户输入的</span></span><span lang=EN-US
style='letter-spacing:.1pt'>3</span><span style='font-family:宋体;letter-spacing:
.1pt'>种不同的文本。用户可能输入文件夹的路径名、文件的路径名或什么也不输入:</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 OnDisplayButtonClick(object sender, EventArgs e)</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>
try</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>
string folderPath = textBoxInput.Text;</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
DirectoryInfo theFolder = new DirectoryInfo(folderPath);</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
if (theFolder.Exists)</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>
DisplayFolderList(theFolder.FullName);</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
return;</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>
FileInfo theFile = new FileInfo(folderPath);</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
if (theFile.Exists)</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>
DisplayFolderList(theFile.Directory.FullName);</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
int index = listBoxFiles.Items.IndexOf(theFile.Name);</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
listBoxFiles.SetSelected(index, true);</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
return;</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>
throw new FileNotFoundException("There is no file or folder with "</span></p>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?