C# 媒体播放器播放列表类

C# 媒体播放器播放列表类,c#,C#,我正在尝试为正在使用的媒体播放器编写播放列表类。我想存储列表框的文件名位置和显示名。我的课程代码是: class Playlist { private string filename; private string displayname; public Playlist(string strfilename, string strdisplayname) { this.filename = strfilename; this.d

我正在尝试为正在使用的媒体播放器编写播放列表类。我想存储列表框的文件名位置和显示名。我的课程代码是:

class Playlist
{
    private string filename;
    private string displayname;

    public Playlist(string strfilename, string strdisplayname)
    {
        this.filename = strfilename;
        this.displayname = strdisplayname;
    }

    public string FileName
    {
        get
        {
            return this.filename;
        }
        set
        {
            this.filename = value;
        }
    }
    public string DisplayName
    {
        get
        {
            return this.displayname;
        }
        set
        {
            this.displayname = value;
        }
    }
}
在表格里面我有两个按钮。一个用于添加文件,另一个用于获取该文件的文件名位置

    private void button_Click(object sender, RoutedEventArgs e)
    {
        Playlist playlistdata = new Playlist(@"c:\filenametest","displayname");

        lstMain.Items.Add(playlistdata.DisplayName);
    }
这个很好用。现在,当我试图从另一个按钮上获取课堂信息时,我不知道该怎么做。我想尝试做这样的事情,但不知道如何去做。任何帮助都将不胜感激

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        Playlist playlistdata = lstMain.SelectedItem;
        MessageBox.Show(playlistdata.FileName);
    }

尝试从Playlist实现ToString()方法

class Playlist
{
...

  public string ToString()
  {
    return this.DisplayName;
  }
...
}
您现在可以将播放列表对象添加到列表中,而不是添加DisplayName:

private void button_Click(object sender, RoutedEventArgs e)
{
    Playlist playlistdata = new Playlist(@"c:\filenametest","displayname");

    lstMain.Items.Add(playlistdata);
}
现在,您可以访问以下数据:

private void button1_Click(object sender, RoutedEventArgs e)
{
    Playlist playlistdata = (Playlist)lstMain.SelectedItem;
    MessageBox.Show(playlistdata.FileName);
}

请尝试
lstMain。选择editem作为播放列表
。什么不起作用,它应该如何起作用?我不确定你的问题是什么。例如,假设我的播放列表和列表框中有5首歌曲。我想选择一首歌曲,并能够得到它的文件名位置。“Playlist playlista=lstMain.SelectedItem;”这行代码给我一个“无法将类型“object”隐式转换为“Vicks_Music_Player_2.Classes.Playlist”。存在显式转换(是否缺少演员阵容?)”错误。播放列表项如何进入列表框?Items集合是all Object,当您获得一个时,需要转换/回溯。根据数据的获取方式,还有其他选择。我将使用以下代码“playlistplaylista data=newplaylist”(@“c:\filenametest”,“displayname”);”和“lstMain.Items.add(playlista);”将它们添加到列表框中。这段代码在VB.Net中工作,因为我只是在c#中编写我的程序。谢谢,它工作得很好!我真的很感谢你的帮助。