问题描述
首先对我的英语不好,但我是意大利语感到抱歉。
第二,我只从4个月开始编程,我的表现非常糟糕...
因此,我在使用Windows Forms制作音乐播放器时,您可以打开一个包含音乐文件的文件夹并听音乐,因此当打开该文件夹时,它会将所有文件放入列表框中,但是它们就像“ C:\ Desktop \ Folder \ AllStar.mp3”,我只希望它像“ AllStar.mp3”,所以我将此代码设为,但是当我运行它时,它用意大利语创建了一个东西,它的(Raccolta)[与google译者是(集合)或(收集)],它没有给我提供短名称的替换文件,我该如何解决?
这是代码
string text = listBox1.GetItemText(listBox1.Items);
text = text.Replace(@"C:\Users\****\****\Desktop\-PC-\Musica","");
listBox1.Items.Add(text);
会很有帮助!
解决方法
您可以使用Path.GetFileName
仅检索不带扩展名的文件名。
完整示例
using System;
using System.Data;
using System.IO;
using System.Linq;
using System.Windows.Forms;
namespace ListBoxExample
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void BrowseButton_Click(object sender,EventArgs e)
{
using (var browser = new FolderBrowserDialog())
{
DialogResult result = browser.ShowDialog();
if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(browser.SelectedPath))
{
var files = Directory
.GetFiles(browser.SelectedPath)
.Where(path => Path.GetExtension(path).ToUpper().EndsWith("MP3"))
.Select(path => Path.GetFileName(path));
foreach (var file in files)
{
MusicListBox.Items.Add(file);
}
}
}
}
}
}