/// <summary> /// 显示影片详情 /// </summary> /// <param name="card">卡片</param> private void ShowMovieDetail(InfoCard card) { if (selectCard != null) { selectCard.IsSelected = false; } pictureBox_backdrop.Image = Image.FromStream(new MemoryStream(File.ReadAllBytes(card.Movie.Backdrop))); textBox_year.Text = card.Movie.Year; textBox_publisher.Text = card.Movie.Publisher; textBox_studio.Text = card.Movie.Studio; textBox_direct.Text = card.Movie.Direct; textBox_series.Text = card.Movie.Series; textBox_genre.Text = string.Join(",", card.Movie.Genre); textBox_star.Text = string.Join(",", card.Movie.Star); linkLabel_website.Text = card.Movie.WebSite; selectCard = card; selectCard.IsSelected = true; }
private void AddCard() { Invoke(new EventHandler((o1, e1) => { tabControlPanel4.Controls.RemoveByKey("cardPanel"); })); var flowLayoutPanel1 = new Panel() { Name = "cardPanel", AutoScroll = true, Location = new Point(55, 44), Size = new Size(tabControlPanel4.Width - 479, tabControlPanel4.Height - 8), BorderStyle = BorderStyle.None, BackColor = Color.White }; var count = 6; var width = (flowLayoutPanel1.Width - 30) / count; for (int i = libPage * 12; i < libPage * 12 + 12; i++) { if (i >= libFiles.Count) { break; } var item = libFiles[i]; try { //加载影片信息 var movieInfo = NfoTools.Load(item); //创建信息卡片 var card = new InfoCard() { Width = width, Height = (int)(width / 0.55), Cursor = Cursors.Hand, Movie = movieInfo, VideoFile = new VideoInfo() { filename = item, name = Path.GetFileNameWithoutExtension(item), num = movieInfo.Number, avtype = NumberTools.IsUncensored(movieInfo.Number) ? "无码" : "" } }; //双击播放事件 card.DoubleClick += (o1, e1) => { Process.Start(item); }; //单击信息查看 card.Click += (o1, e1) => { ShowMovieDetail(card); }; //计算位置 var x = (i % 12) % count * card.Width + ((i % 12) % count) + 4; var y = (i % 12) / count * card.Height + ((i % 12) / count * 20) + 10; card.Location = new Point(x, y); flowLayoutPanel1.Controls.Add(card); } catch (Exception e1) { Console.WriteLine(e1.Message); } } if (flowLayoutPanel1.Controls.Count > 0) { Invoke(new EventHandler((o1, e1) => { tabControlPanel4.Controls.Add(flowLayoutPanel1); })); } else { flowLayoutPanel1.Dispose(); } }