Exemplo n.º 1
0
        void EkranıTazele()
        {
            AnaPano.Invoke((Action)(() =>
            {
                foreach (var biri in BekleyenEkranlama)
                {
                    switch (biri.EkranlamaTipi)
                    {
                    case Bekleyen_Ekranlama_Tipi_.Ekle:
                        AnaPano.Controls.Add(biri.Nesne as Panel);
                        (biri.Nesne as Panel).BringToFront();
                        break;

                    case Bekleyen_Ekranlama_Tipi_.ÖneGetir:
                        (biri.Nesne as Panel).BringToFront();
                        break;

                    case Bekleyen_Ekranlama_Tipi_.PozisyonunuDeğiştir:
                        (biri.Nesne as Panel).Location = (Point)biri.Değer;
                        break;

                    case Bekleyen_Ekranlama_Tipi_.Sil:
                        foreach (Control n in (biri.Nesne as Panel).Controls)
                        {
                            n.Dispose();
                        }
                        (biri.Nesne as Panel).Controls.Clear();
                        (biri.Nesne as Panel).Dispose();
                        break;

                    case Bekleyen_Ekranlama_Tipi_.KaydırmaÇubuğunuGizle:
                        AnaPano.AutoScroll = false;
                        break;

                    case Bekleyen_Ekranlama_Tipi_.SolaDayalıResmiDeğiştir:
                        (biri.Nesne as PictureBox).Image = (Image)biri.Değer;
                        break;

                    case Bekleyen_Ekranlama_Tipi_.YazıyıDeğiştir:
                        int YüzdeDeğeri = 0;
                        if (biri.Nesne is ComboBox && (biri.Değer as string).Contains(";"))
                        {
                            (biri.Nesne as ComboBox).Items.Clear();
                            (biri.Nesne as ComboBox).Items.AddRange((biri.Değer as string).Split(';'));
                        }
                        else if (biri.Nesne is ProgressBar && int.TryParse((biri.Değer as string), out YüzdeDeğeri))
                        {
                            (biri.Nesne as ProgressBar).Value = YüzdeDeğeri;
                        }
                        else
                        {
                            (biri.Nesne as Control).Text = (string)biri.Değer;
                        }
                        break;

                    case Bekleyen_Ekranlama_Tipi_.YazıyıDurgunlaştır:
                        (biri.Nesne as Control).Enabled = false;
                        break;

                    case Bekleyen_Ekranlama_Tipi_.YazıyıEtkinleştir:
                        (biri.Nesne as Control).Enabled = true;
                        break;
                    }
                }

                AnaPano.Refresh();
            }));

            BekleyenEkranlama.Clear();
        }