예제 #1
0
        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);
        }