2017-04-14 34 views
1

我正在製作一個音樂播放器在C#中。我現在正在製作音樂播放列表並被卡住了。截至目前,我正在使用tabControl和一個按鈕,其中添加了一個空白列表框的選項卡。下面是該按鈕的代碼:如何引用/鏈接到使用按鈕和tabControl動態創建的列表框?

private void button10_Click(object sender, EventArgs e) 
{ 
    TabPage tp = new TabPage("Playlist"); 
    tabControl1.TabPages.Add(tp); 

    ListBox lb = new ListBox(); 
    lb.Dock = DockStyle.Fill; 

    tp.Controls.Add(lb); 
} 

我遇到的問題是,我不知道如何讓用戶的音樂添加到選項卡中,這些動態創建的列表框。主要音樂列表位於第一個標籤的列表框中,我希望用戶能夠選擇該音樂並將其放入新的列表框或「播放列表」中,以便我需要以某種方式引用它們。

+0

不要這樣做。瞭解XAML。 –

+0

爲什麼不讓用戶選擇音樂並將這些listItem添加到新標籤? – MetaColon

+0

@MetaColon我不知道如何引用新的選項卡/列表框,因爲選項卡是使用列表框動態創建的。 – csharpsendhelp

回答

0

我就假設你有一個按鈕(addToPlayListButton),一個文本框(playListName)到所選擇的歌曲添加到播放列表中輸入(製表符)的名稱和歌曲列表框被稱爲的SongList。我還會假設每個新播放列表都有一個新標籤。在這種情況下,你必須找出他們,所以我會改變標籤的名稱:

TabPage tp = new TabPage($"Playlist {tabControl1.TabPages.Count}"); 

所以你必須從處理按鈕單擊事件addToPlayListButton這樣的:

private void onAddToPlayListButton_Click (object sender, EventArgs e) => 
    (tabControl1.TabPages.Cast<TabPage>() 
     .FirstOrDefault(page => page.Text == playListName.Text) 
     ?.Controls.Cast<Control>() 
     .FirstOrDefault(control => control is ListBox) as ListBox)?.Items.Add(songList.SelectedItem); 
+0

非常感謝,這似乎工作得很好。現在我只需要讓我的播放,暫停等工作適用於所有歌曲位置。 – csharpsendhelp

相關問題