100165769.htm

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

HTM
518
字号
string filePath = Path.Combine(currentFolderPath, </span></p>

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

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
string query = &quot;Really copy the file\n&quot; + filePath + &quot;\nto
&quot; </span></p>

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+
textBoxNewPath.Text + &quot;?&quot;;</span></p>

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (MessageBox.Show(query, </span></p>

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&quot;Copy File?&quot;, MessageBoxButtons.YesNo) == DialogResult.Yes)</span></p>

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

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
File.Copy(filePath, textBoxNewPath.Text);</span></p>

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

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

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

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
catch(Exception ex)</span></p>

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

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
MessageBox.Show(&quot;Unable to copy file. The following exception&quot; </span></p>

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &quot; occurred:\n&quot; + ex.Message, &quot;Failed&quot;);</span></p>

<p class=2 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>}</span></p>

<p class=MsoNormal><span style='font-family:宋体'>还需要确保新按钮和文本框在合适的时间是可用的或禁用的。要使它们在显示文件的内容时可用,需要把下述代码添加到</span><span
lang=EN-US>DisplayFileInfo()</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>protected void DisplayFileInfo(string fileFullName)</span></p>

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

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
FileInfo theFile = new FileInfo(fileFullName);</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
if (!theFile.Exists)</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
throw new FileNotFoundException(&quot;File not found: &quot; + fileFullName);</span></p>

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

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

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
textBoxCreationTime.Text = theFile.CreationTime.ToLongTimeString();</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
textBoxLastAccessTime.Text = theFile.LastAccessTime.ToLongDateString();</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
textBoxLastWriteTime.Text = theFile.LastWriteTime.ToLongDateString();</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
textBoxFileSize.Text = theFile.Length.ToString() + &quot; bytes&quot;;</span></p>

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

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
// enable move, copy, delete buttons</span></p>

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
textBoxNewPath.Text = theFile.FullName;</span></p>

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

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

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
buttonDelete.Enabled = true;</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;
buttonMoveTo.Enabled = true;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>还需要修改</span><span lang=EN-US>DisplayFolderList</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>protected void DisplayFolderList(string folderFullName)</span></p>

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

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
DirectoryInfo theFolder = new DirectoryInfo(folderFullName);</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
if (!theFolder.Exists)</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
throw new DirectoryNotFoundException(&quot;Folder not found: &quot; +
folderFullName);</span></p>

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

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

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

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

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

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

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

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
foreach(DirectoryInfo nextFolder in theFolder.GetDirectories())</span></p>

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

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

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

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
foreach(FileInfo nextFile in theFolder.GetFiles())</span></p>

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

<p class=a6 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 style='FTEL:8.15pt'><span lang=EN-US>DisableMoveFeatures</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void DisableMoveFeatures()</span></p>

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

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

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

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

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

<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
buttonMoveTo.Enabled = false;</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;
}</span></p>

<p class=MsoNormal><span style='font-family:宋体'>还需要给</span><span lang=EN-US>ClearAllFields()</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected void ClearAllFields()</span></p>

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

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

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

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

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

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

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

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

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

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

<p class=a6 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;
}</span></p>

<p class=MsoNormal><span style='font-family:宋体'>这样,代码就完整了。</span></p>

</div>
                <!-- page -->
                <div class="page" style="text-align: center">
                    <a href="100165768.htm">上一页</a>&nbsp;&nbsp;&nbsp;<a href="index.html">首页</a>&nbsp;&nbsp;&nbsp;<a href="100165770.htm">下一页</a>
                </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="divCurrentNode2" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165769.htm'><font color='red'>30.2  移动、复制和删除文件</font></a></h1>
                        <div id="divRealteNod2" style="padding-left: 2px">
                        <div style='float:left;width:49%'>·<a href='100165766.htm'>30.1.1  表示文件和文件夹的.NET类</a></div><div style='float:right;width:49%'>·<a href='100165767.htm'>30.1.2  Path类</a></div><div style='float:left;width:49%'>·<a href='100165768.htm'>30.1.3  示例:文件浏览器</a></div><div style='float:right;width:49%'>·<a href='100165770.htm'>30.3  读写文件</a></div><div style='float:left;width:49%'>·<a href='100165771.htm'>30.3.1  流</a></div><div style='float:right;width:49%'>·<a href='100165772.htm'>30.3.2  读写二进制文件</a></div></div>
                    </div>
                </div>
                </div>
        </div>
</body>
</html>

⌨️ 快捷键说明

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