为什么选 C# 开发桌面工具

C# + WinForms 是 Windows 桌面工具开发的黄金组合。开发速度快、性能好、打包简单,生成的 exe 在大多数 Windows 机器上直接运行。

后台线程扫描文件(避免界面卡死)

private async void btnScan_Click(object sender, EventArgs e)
{
    btnScan.Enabled = false;
    await Task.Run(() => ScanDisk(selectedDrive));
    btnScan.Enabled = true;
}

private void ScanDisk(string drive)
{
    var files = Directory.EnumerateFiles(drive, "*",
        new EnumerationOptions { RecurseSubdirectories = true })
        .Where(f => new FileInfo(f).Length > 100 * 1024 * 1024);

    foreach (var file in files)
    {
        var fi = new FileInfo(file);
        listView.Invoke(() => listView.Items.Add(new ListViewItem(new[] {
            fi.Name, FormatSize(fi.Length), fi.DirectoryName
        })));
    }
}

安全删除(移入回收站)

FileSystem.DeleteFile(
    filePath,
    UIOption.OnlyErrorDialogs,
    RecycleOption.SendToRecycleBin
);

打包发布为单文件 exe

dotnet publish -r win-x64 --self-contained true -p:PublishSingleFile=true

工具下载:关注公众号「杜兴华写代码」,发送「SpaceSniper」获取。