-3

在 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);
            }
        }
4

2 回答 2

0

您可以使用System.IO.Directory

  • 目录列表:

    Directory.GetDirectories

  • 目录下的文件列表

    Directory.GetFiles("Path");

  • 文件完整路径:

    System.IO.Path.GetFileName

  • 移动文件

    Directory.Move

于 2015-10-22T05:41:02.020 回答
0

创建包含文件路径和可选文件名的结构以缩短 ComboBox 中的项目:

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

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

覆盖 ToString() 会变魔术 - 在 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;

在项目中,您有文件名和文件路径。

于 2015-10-22T05:49:31.103 回答