做一个MP3播放器时候,打开MP3文件时候发生的一个问题。        private void btnOpen_Click(object sender, EventArgs e)
        {
            if (ofdSongs.ShowDialog() != DialogResult.Cancel)
            {
                for (int i = 0; i < ofdSongs.FileNames.Length; i++)
                {
                    path[i] = ofdSongs.FileNames[i];
                    shortPath[i] = path[0].Substring(path[1].LastIndexOf("\\") + 1);
                    lstPlaylist.Items.Add(shortPath[0]);
                }
                //文件打开完毕
                time = cls.getLength(path[0]);
                lblState.Text = "停止\n\n" + "00:00:00 / " + time;
            }
        }

解决方案 »

  1.   

    出错的是:path[i] = ofdSongs.FileNames[i];
    数组path在public partial class frmPlayer : Form内声明了而且private void btnOpen_Click(object sender, EventArgs e)是在public partial class frmPlayer : Form
      

  2.   

    path 有没有new过?
    private void btnOpen_Click(object sender, EventArgs e)
            {
                if (ofdSongs.ShowDialog() != DialogResult.Cancel)
                {
                    string[] path=new string[ofdSongs.FileNames.Length]; 
                    for (int i = 0; i < ofdSongs.FileNames.Length; i++)
                    {
                        path[i] = ofdSongs.FileNames[i];
                        shortPath[i] = path[0].Substring(path[1].LastIndexOf("\\") + 1);
                        lstPlaylist.Items.Add(shortPath[0]);
                    }
                    //文件打开完毕
                    time = cls.getLength(path[0]);
                    lblState.Text = "停止\n\n" + "00:00:00 / " + time;
                }
            }