/// <summary> /// Add a single channel to <see cref="ChannelsListView"/>. /// </summary> /// <param name="channel">Channel to add.</param> private void AddChannelToListView(Database.Types.Channel channel) { if (!ChannelsImageList.Images.ContainsKey(channel.ID)) { Image resizedImage = ImageUtils.ResizeImage((Image)Database.ImageFile.Get(channel.ID, ImageType.ChannelIcon), 24, 24); ChannelsImageList.Images.Add(channel.ID, resizedImage); } ListViewItem channelItem = new ListViewItem { Name = channel.ID, Tag = channel, ImageKey = channel.ID, Font = new Font("Segoe UI Semibold", 10), Text = $" {channel.Title}" }; ChannelsListView.Items.Add(channelItem); }
private void ChannelsListView_SelectedIndexChanged(object sender, EventArgs e) { if (ChannelsListView.SelectedItems.Count == 1) { Database.Types.Channel selectedChannel = (Database.Types.Channel)ChannelsListView.SelectedItems[0].Tag; Image imageFaded = ImageUtils.SetImageOpacity((Image)Database.ImageFile.Get(selectedChannel.ID, ImageType.ChannelIcon), 0.16f); BackgroundImageLayout = (imageFaded.Size.Height < Size.Height) ? ImageLayout.Stretch : ImageLayout.Center; BackgroundImage = imageFaded; AddChannelVideos(selectedChannel.ID); if (VideosListView.Items.Count > 0) { VideoStatusPanel.Visible = true; } } else { ChannelsListViewChanged(); } }