Exemple #1
0
        private void UpdateArtist(ArtistCollectionEventArgs.ChangeType type, Artist changedArtist)
        {
            SuspendLayout();
            switch (type)
            {
            case ArtistCollectionEventArgs.ChangeType.Add:
                AddArtistControl(changedArtist);
                break;

            case ArtistCollectionEventArgs.ChangeType.Clear:
                foreach (System.Windows.Forms.Control ctrl in panel.Controls)
                {
                    CleanArtistControls(ctrl);
                }
                panel.Controls.Clear();
                LoadArtists();
                break;

            case ArtistCollectionEventArgs.ChangeType.Remove:
                System.Windows.Forms.Control[] ctrls = new System.Windows.Forms.Control[panel.Controls.Count];
                panel.Controls.CopyTo(ctrls, 0);
                List <System.Windows.Forms.Control> controllist = new List <System.Windows.Forms.Control>(ctrls);
                CleanArtistControls(controllist.Find((System.Windows.Forms.Control control) =>
                {
                    ArtistControl artistControl = control as ArtistControl;
                    return(artistControl.Artist == changedArtist);
                }));
                break;
            }
            ResumeLayout();
        }
Exemple #2
0
        private void AddArtistControl(Artist artist)
        {
            var ac = new ArtistControl();

            ac.LoadArtist(artist);
            panel.Controls.Add(ac);

            ac.DoubleClick += Ac_DoubleClick;
        }
Exemple #3
0
        private void Ac_DoubleClick(object sender, EventArgs e)
        {
            ArtistControl ac = (ArtistControl)sender;

            ArtistControlClicked?.Invoke(this, new ArtistControlEventArgs()
            {
                Artist = ac.Artist
            });
        }