Exemplo n.º 1
0
 /// <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;
 }
Exemplo n.º 2
0
        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();
            }
        }