C# 音曜管理系统:生成报告和路径设置

本示例代码展示了如何使用 C# 开发一个简单音曜管理系统,该系统主要包含以下功能:

  1. 设置待下载、待删除、待更新文件夹目录以及记录输出目录
  2. 生成报告,显示当前设置的各文件夹路径

代码结构:

namespace SongManager;

partial class Form1
{
    // ... 省略部分代码 ...

    private void InitializeComponent()
    {
        // ... 省略部分代码 ...

        toBeDownloaded = new FolderBrowserModule('待下载文件夹目录', 10, 10);
        toBeDownloaded.LocationsOnChange += LocationsSave;
        this.Controls.Add(toBeDownloaded.folderBrowserLabel);    // 绘制组件
        this.Controls.Add(toBeDownloaded.folderBrowserTextbox);    // 绘制组件
        this.Controls.Add(toBeDownloaded.folderBrowserButton);    // 绘制组件

        toBeRemoved = new FolderBrowserModule('待删除文件夹目录', 10, 40);
        toBeRemoved.LocationsOnChange += LocationsSave;
        this.Controls.Add(toBeRemoved.folderBrowserLabel);    // 绘制组件
        this.Controls.Add(toBeRemoved.folderBrowserTextbox);    // 绘制组件
        this.Controls.Add(toBeRemoved.folderBrowserButton);    // 绘制组件
        
        toBeUpdated = new FolderBrowserModule('待更新文件夹目录', 10, 70);
        toBeUpdated.LocationsOnChange += LocationsSave;
        this.Controls.Add(toBeUpdated.folderBrowserLabel);    // 绘制组件
        this.Controls.Add(toBeUpdated.folderBrowserTextbox);    // 绘制组件
        this.Controls.Add(toBeUpdated.folderBrowserButton);    // 绘制组件

        log = new FolderBrowserModule('记录输出目录', 10, 100);
        log.LocationsOnChange += LocationsSave;
        this.Controls.Add(log.folderBrowserLabel);    // 绘制组件
        this.Controls.Add(log.folderBrowserTextbox);    // 绘制组件
        this.Controls.Add(log.folderBrowserButton);    // 绘制组件

        generateLogButton = new Button();
        generateLogButton.Location = new System.Drawing.Point(545, 7);
        generateLogButton.Size = new System.Drawing.Size(113, 113);
        generateLogButton.Text = '生成记录';
        generateLogButton.Click += new System.EventHandler(GenerateLogButton_Click);
        this.Controls.Add(generateLogButton);    // 绘制组件



        locations = Locations.GetLocations();    // 路径设置
        toBeDownloaded.folderBrowserTextbox.Text = locations.ToBeDownloadedLocation;
        toBeRemoved.folderBrowserTextbox.Text = locations.ToBeRemovedLocation;
        toBeUpdated.folderBrowserTextbox.Text = locations.ToBeUpdatedLocation;
        log.folderBrowserTextbox.Text = locations.LogLocation;



        // **设置焦点到生成记录按钮**
        this.ActiveControl = generateLogButton;
    }

    private void GenerateLogButton_Click(object sender, EventArgs e) {
        generateLog = new GenerateLogModule();

        MessageBox.Show(
            '待下载文件夹目录:' + toBeDownloaded.folderBrowserTextbox.Text + '\n' +
            '待删除文件夹目录:' + toBeRemoved.folderBrowserTextbox.Text + '\n' +
            '待更新文件夹目录:' + toBeUpdated.folderBrowserTextbox.Text + '\n' +
            '记录输出目录:' + log.folderBrowserTextbox.Text + '\n'
            , '生成报告'
        );

        generateLog.GenerateLog();
        // testDialog.Test = '测试';
    }

    public void LocationsSave() {
        Locations.UpdateLocations(
            toBeDownloaded.folderBrowserTextbox.Text,
            toBeRemoved.folderBrowserTextbox.Text,
            toBeUpdated.folderBrowserTextbox.Text,
            log.folderBrowserTextbox.Text
        );

        // Locations.SaveLocations();
    }

    // ... 省略部分代码 ...
}

代码说明:

  1. 使用 FolderBrowserModule 类创建四个路径选择组件,分别代表待下载、待删除、待更新文件夹目录以及记录输出目录。
  2. 使用 GenerateLogModule 类生成报告,显示当前设置的各文件夹路径。
  3. InitializeComponent 方法中,设置 ActiveControl 属性为 generateLogButton,将焦点设置到生成记录按钮上。

代码优势:

  1. 使用 FolderBrowserModule 类可以简化路径选择操作,提高代码可读性。
  2. 使用 GenerateLogModule 类可以将生成报告逻辑与界面代码分离,提高代码可维护性。
  3. 设置 ActiveControl 属性可以方便地控制窗体加载时的焦点位置。

注意:

  • FolderBrowserModule 类和 GenerateLogModule 类需要自行实现。
  • Locations 类用于存储和更新路径信息,需要根据实际需求自行实现。

希望以上示例代码能帮助您理解 C# 音曜管理系统开发的基本流程。

C# 音曜管理系统:生成报告和路径设置

原文地址: http://www.cveoy.top/t/topic/D3Z 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录