コード例 #1
0
ファイル: AdvancedSearch.cs プロジェクト: Bejenar/Animeteka
        private void LoadPage_DoWork(object sender, DoWorkEventArgs e)
        {
            BeginInvoke(new MethodInvoker(delegate
            {
                progressBar.Visible   = true;
                progressBar.Value     = 0;
                label1.Text           = (pageIndex + 1) + "/" + pages;
                panelPage.Visible     = true;
                button1.Enabled       = false;
                button2.Enabled       = false;
                button_search.Enabled = false;
            }));

            var animes = animeEntries.Skip(pageIndex * entriesPerPage).Take(entriesPerPage);

            LoadPage.ReportProgress(10);

            BeginInvoke(new MethodInvoker(delegate
            {
                panelEntry.Controls.Clear();
            }));

            float progress = 10;
            float step     = 90f / animes.Count();

            foreach (var a in animes)
            {
                AnimeEntry entry = new AnimeEntry(a);
                entry.Dock = DockStyle.Top;

                BeginInvoke(new MethodInvoker(delegate
                {
                    entry.Visible = false;
                    panelEntry.Controls.Add(entry);
                    entry.BringToFront();  // entry.BringToFront(); - to add controls in correct order
                    entry.Visible = true;
                }));
                System.Threading.Thread.Sleep(100);

                progress += step;
                LoadPage.ReportProgress((int)progress);
            }

            BeginInvoke(new MethodInvoker(delegate
            {
                progressBar.Visible   = false;
                button1.Enabled       = true;
                button2.Enabled       = true;
                button_search.Enabled = true;
            }));
        }
コード例 #2
0
ファイル: CharacterInfo.cs プロジェクト: Bejenar/Animeteka
        public CharacterInfo(Characters character)
        {
            InitializeComponent();
            this.character = character;

            CharacterPreview preview = new CharacterPreview(character);

            preview.Dock = DockStyle.Left;
            panel1.Controls.Add(preview);

            seyus = Program.db.CharacterAnime
                    .Where(a => a.CharacterId == character.CharacterId)
                    .Select(a => a.Person)
                    .ToList();

            seyus = seyus.Distinct().ToList();

            foreach (var seyu in seyus)
            {
                var person = new PersonPreview(seyu);
                panel2.Controls.Add(person);
                person.Dock = DockStyle.Top;
                person.BringToFront();
            }

            animes = Program.db.CharacterAnime
                     .Where(a => a.CharacterId == character.CharacterId)
                     .Select(a => a.Anime)
                     .ToList();
            animes = animes.Distinct().ToList();

            foreach (var anime in animes)
            {
                var a = new AnimeEntry(anime);
                a.Dock = DockStyle.Top;
                panel3.Controls.Add(a);
                a.BringToFront();
            }
        }