private void SetSongInfo(IPlaylist playlist) { ISong[] songs = playlist.GetSongs(); panelPlaylist.SuspendLayout(); //disable unused controls int beg = 0; if (songs != null) { beg = songs.Length; } for (int i = beg; i < songNumbers.Count; i++) { songNumbers[i].Visible = false; songNumbers[i].Enabled = false; songNames[i].Visible = false; songNames[i].Enabled = false; songDeletes[i].Visible = false; songDeletes[i].Enabled = false; } //Add more controls if necessary while (songNumbers.Count < beg) { AddNewSongControl(); } //Set control values for (int i = 0; i < beg; i++) { songNumbers[i].Visible = true; songNumbers[i].Enabled = true; songNames[i].Visible = true; songNames[i].Enabled = true; songDeletes[i].Visible = true; songDeletes[i].Enabled = true; songNumbers[i].Value = songs[i].Number; songNames[i].Text = songs[i].Name; } panelPlaylist.ResumeLayout(true); }