private void albumPictureBox_MouseLeave(object sender, EventArgs e)
        {
            AlbumPictureBox albumPictureBox = sender as AlbumPictureBox;

            albumPictureBox.BorderStyle = BorderStyle.None;
            albumPictureBox.Cursor      = Cursors.Default;
            albumPictureBox.Invalidate();
        }
        private void addSingleAlbum(Album i_Album)
        {
            AlbumPictureBox albumToAdd = new AlbumPictureBox()
            {
                Album    = i_Album,
                Size     = new Size(140, 90),
                SizeMode = PictureBoxSizeMode.StretchImage
            };

            albumToAdd.LoadAsync(i_Album.PictureSmallURL);
            flowLayoutPanelUserAlbums.Controls.Add(albumToAdd);
            albumToAdd.MouseHover += albumPictureBox_MouseHover;
            albumToAdd.MouseLeave += albumPictureBox_MouseLeave;
            albumToAdd.Click      += albumPictureBox_Click;
        }
        private void albumPictureBox_Click(object sender, EventArgs e)
        {
            AlbumPictureBox albumPictureBox = sender as AlbumPictureBox;

            labelAlbumsName.Text = albumPictureBox.Album.Name;
            Controls.Remove(flowLayoutPanelUserAlbums);
            Controls.Add(flowLayoutPanelUserAlbumsPhotos);

            foreach (Photo currentPhoto in albumPictureBox.Album.Photos)
            {
                addSinglePhoto(currentPhoto);
            }

            buttonAlbums.Enabled = true;
            buttonAlbums.Text    = "Back to albums";
        }
        private void albumPictureBox_MouseHover(object sender, EventArgs e)
        {
            AlbumPictureBox albumPictureBox = sender as AlbumPictureBox;

            albumPictureBox.BorderStyle = BorderStyle.Fixed3D;
            albumPictureBox.Cursor      = Cursors.Hand;

            using (Graphics G = Graphics.FromHwnd(albumPictureBox.Handle))
            {
                SizeF  textSize       = G.MeasureString(albumPictureBox.Album.Name, Font);
                PointF locationToDraw = new PointF()
                {
                    X = (albumPictureBox.Width / 2) - (textSize.Width / 2),
                    Y = (albumPictureBox.Height / 2) - (textSize.Height / 2)
                };
                G.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
                G.DrawString(albumPictureBox.Album.Name, new Font(Font, FontStyle.Bold), Brushes.White, locationToDraw);
            }
        }