为了账号安全,请及时绑定邮箱和手机立即绑定

C#无法将类型'System.IO.FileInfo'隐式转换为字符串

C#无法将类型'System.IO.FileInfo'隐式转换为字符串

C#
交互式爱情 2021-04-06 13:15:20
我的列表框中有一个音乐文件列表,当我双击它们时,我正在尝试使用媒体播放器播放它们。但是它一直在提出错误。我假设这是因为“文件”不是字符串,但是如何将其转换为字符串?我尝试使用.ToString,但是它不起作用。我对此很陌生。任何帮助表示赞赏。错误出现在axWindowsMediaPlayer.URL = files [listBox1.SelectedIndex];中。这是我的代码:public partial class Form1 : Form{    public Form1()    {        InitializeComponent();    }    string[] extensions = new[] { ".mp3", ".wma", ".wav", ".MP3", ".WMA" };    FileInfo[] files;    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)    {        axWindowsMediaPlayer1.URL = files[listBox1.SelectedIndex];    }    private void Form1_Load(object sender, EventArgs e)    {        DirectoryInfo dinfo = new DirectoryInfo(@"C:\Tracks");        files = dinfo.EnumerateFiles().Where(f => extensions.Contains(f.Extension.ToLower())).ToArray();        for (int i = 0; i < files.Length; i++)        {            listBox1.Items.Add(files[i]);        }    }这是显示错误的代码: private void listBox1_SelectedIndexChanged(object sender, EventArgs e){    axWindowsMediaPlayer1.URL = files[listBox1.SelectedIndex];}
查看完整描述

3 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

我没有打开IDE来尝试此操作,但是尝试更改:


private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

{

    axWindowsMediaPlayer1.URL = files[listBox1.SelectedIndex];

}

至:


private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

{

    axWindowsMediaPlayer1.URL = files[listBox1.SelectedIndex].Fullname;

}


查看完整回答
反对 回复 2021-04-24
?
慕斯709654

TA贡献1840条经验 获得超5个赞

您需要提供AxWindowsMediaPlayer.URL属性的文件路径。您可以使用FileInfo.FullName属性来获取它。

所以用 axWindowsMediaPlayer1.URL = files[listBox1.SelectedIndex].FullName;


查看完整回答
反对 回复 2021-04-24
  • 3 回答
  • 0 关注
  • 622 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信