Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何按名称查找歌曲并将其从播放列表中删除_C#_Playlist_Windows Media Player_Wmplib - Fatal编程技术网

C# 如何按名称查找歌曲并将其从播放列表中删除

C# 如何按名称查找歌曲并将其从播放列表中删除,c#,playlist,windows-media-player,wmplib,C#,Playlist,Windows Media Player,Wmplib,基本上,我正在制作自动点唱机,但WMPLib库有一个大问题。 我试图从播放列表中删除一个项目,但问题是我找不到任何方法按名称获取索引或实际媒体。 我 我想制作一个播放列表的复制阵列,但这比我应该在这样一个简单的任务中投入的工作量要多得多 private void queue_listbox_SelectedIndexChanged(object sender, System.EventArgs e) { if (queue_listbox.SelectedItem !=

基本上,我正在制作自动点唱机,但WMPLib库有一个大问题。
我试图从播放列表中删除一个项目,但问题是我找不到任何方法按名称获取索引或实际媒体。
我 我想制作一个播放列表的复制阵列,但这比我应该在这样一个简单的任务中投入的工作量要多得多

 private void queue_listbox_SelectedIndexChanged(object sender, System.EventArgs e)
    {
        if (queue_listbox.SelectedItem != null)
        {
            wplayer.currentPlaylist.removeItem('Insert code here');
            music_listbox.Items.Add(queue_listbox.SelectedItem);
            queue_listbox.Items.Remove(queue_listbox.SelectedItem);
        }
    }

只需像这样使用
字典

// The string will be used as the name to find the song. 
// I don't know what type you are using for the song, 
// so I'm just using the madeup type "Song"
Dictionary<string, Song> songs = new Dictionary<string, Song>();
字典基本上是列表,基本上是数组,除了作为索引器传递数字之外(
songs[5]
获取第6首歌曲),您可以传递任何类型的
TKey
songs[“看这张照片”]
获取与该字符串配对的歌曲)

我不知道你是否制作了这个
Listbox
类,或者它是由微软制作的。如果它是构建的,那么如果它已经是一个数组,那么它就不能成为一个字典,在这种情况下,你需要更具创造性。您可能需要基本上重新创建
列表框
,以便使用
字典
或一些巧妙的解决方法


您可以做一些事情,比如制作一个
ListboxManager
,它将保存一个
字典
,并使用一个名为
GetItems(this Listbox Listbox)=>ListboxManager.listboxs[Listbox]的扩展方法这可能会起作用

哦,是的,我有媒体文件的路径和文件名,但是没有命令可以让你搜索播放列表,你不需要索引。您应该能够使用获取项目本身,然后将项目直接传递给。
// Removes "Look at this Photograph" from the songs Dictionary
songs["Look at this Photograph - Nickleback"].Remove();