簡體   English   中英

在 C# 中,如何從 checkListBox 獲取文件名並移動文件?

[英]In C# how can I get names of files from a checkListBox and move the files?

在 C# 中,我需要知道如何將checkListBox項目名稱用作文件路徑,以便用戶可以選擇文件名,然后單擊將這些文件移動到 PC 上另一個文件位置的按鈕。 我已經知道如何讓文件出現在checkListBox但我不知道如何檢測checkListBox文件路徑,以便用戶可以移動checkListBox列出的選定文件。

如果有幫助,這是一個更好的表達方式。 我想在列表框中獲取列出的文件,並對其進行處理。

void sendbtn_Click(object sender, EventArgs e)
        {
            string destinationFolder = gamedir.Text;
            string[] files = Directory.GetFiles(checkListView1.SelectedItems);
            foreach(var file in files)
            {
                string destinationPath = Path.Combine(destinationFolder, file);
                File.Copy(file.Fullname, destinationPath);
            }
        }

您可以使用System.IO.Directory

  • 目錄列表:

    Directory.GetDirectories

  • 目錄下的文件列表

    Directory.GetFiles("Path");

  • 文件完整路徑:

    System.IO.Path.GetFileName

  • 移動文件

    Directory.Move

創建包含文件路徑和可選文件名的結構以縮短 ComboBox 中的項目:

struct ComboItem {
    public string FileName { get; set; }
    public string FilePath { get; set; }

    public override string ToString() {
        return FileName;
    }
}

覆蓋 ToString() 可以發揮作用 - 在 ComboBox 中,您只會看到文件名。 像這樣填充 ComboBox:

void FillCombo() {
    var startPath = @"your path";
    comboBox1.Items.Clear();
    foreach (var file in Directory.GetFiles(startPath)) {
        var item = new ComboItem {
            FilePath = file,
            FileName = Path.GetFileName(file)
        };
        comboBox1.Items.Add(item);
    }
}

而不是移動操作獲取所選項目:

var item = (ComboItem)comboBox1.SelectedItem;

在 item 中有文件名和文件路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM