首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

使用 Visual C# 清空回收站實作指南(下)

     編輯:關於C語言

前言

承接上篇文章,本文將詳細說明如何使用 Visual C# 實作清空回收站的核心邏輯,包括檔案刪除機制、MessageBox 互動視窗的使用,以及完整的程式碼編譯與執行示範。

一、核心刪除邏輯實作

當確認 C:\Recycled 目錄不為空時,程式需遍歷目錄中所有檔案並逐一刪除。這裡會用到兩個關鍵的 .NET 類別:

  • System.IO.File.Delete():刪除指定完整路徑的檔案
  • System.Windows.Forms.MessageBox:顯示確認對話框,防止誤刪

1. 取得檔案完整路徑

使用 Directory.GetFiles() 取得目錄下所有檔案的完整路徑集合,再搭配 foreach 迴圈逐一處理:

foreach (string filePath in Directory.GetFiles(@"c:\recycled"))
{
    File.Delete(filePath);
}

2. 使用 MessageBox 確認刪除

在執行刪除前,透過 MessageBox.Show() 顯示確認對話框,包含「是/否」按鈕與問號圖示:

DialogResult result = MessageBox.Show(
    "是否確定清空回收站?",
    "垃圾處理確認",
    MessageBoxButtons.YesNo,
    MessageBoxIcon.Question
);

if (result == DialogResult.Yes)
{
    // 執行刪除邏輯
}

注意:DialogResult.Yes 的整數值為 6,舊版程式碼常直接比較 (int)result == 6,建議使用列舉值提高可讀性。

二、完整原始碼:recycled.cs

using System.IO;
using System.Windows.Forms;

class Recycle
{
    public static void Main()
    {
        int fileCount = 0;
        
        // 計算回收站檔案數量
        foreach (string file in Directory.GetFiles(@"c:\recycled"))
        {
            fileCount++;
        }

        if (fileCount > 0)
        {
            DialogResult result = MessageBox.Show(
                "是否確定?", 
                "垃圾處理!", 
                MessageBoxButtons.YesNo, 
                MessageBoxIcon.Question
            );

            if (result == DialogResult.Yes)
            {
                foreach (string filePath in Directory.GetFiles(@"c:\recycled"))
                {
                    File.Delete(filePath);
                }
            }
        }
    }
}

三、編譯與執行

使用命令列編譯器 csc.exe 編譯為 Windows 執行檔:

csc /t:winexe /r:system.dll /r:system.Windows.forms.dll recycled.cs
  • /t:winexe:指定輸出為 Windows 應用程式(無主控台視窗)
  • /r::參考必要的組件

四、執行結果

程式執行介面

執行後將顯示確認對話框,點選「是」即清空回收站所有檔案。

五、總結

本文透過實際軟體開發流程,展示了 Visual C# 在檔案處理方面的強大功能。憑藉 .NET Framework SDK 的支援,過去難以處理的檔案系統操作變得相對簡單。這正是 Visual C# 成為新一代主流開發語言的關鍵原因——它讓原本不可能的任務成為可能,將複雜度封裝在優雅的 API 之後。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved