示例#1
0
        void Bekleyenİşlemler_Taşı()
        {
            int kaynak = Bekleyenİşlemler[0].MesajNo;
            int hedef  = (int)Bekleyenİşlemler[0].Değer;

            if (hedef >= Ekrandakiler.Count)
            {
                hedef = Ekrandakiler.Count - 1;
            }
            if (hedef < 0)
            {
                hedef = 0;
            }

            if (kaynak == hedef)
            {
                return;
            }

            Ekrandakiler[kaynak].EkranGüncellemesiGerekiyor = true;

            if (kaynak > hedef)
            {
                //Yukarı Çıkıyor

                Ekrandakiler[kaynak].HedefKonum = Ekrandakiler[hedef].HedefKonum;

                for (int i = hedef; i < kaynak; i++)
                {
                    Ekrandakiler[i].HedefKonum.Y += Ekrandakiler[kaynak].Pano.Height + Ayarlar.İkiMesajArasıMesafe;
                    Ekrandakiler[i].EkranGüncellemesiGerekiyor = true;
                }
            }
            else
            {
                //Aşağı iniyor

                int Mesafe = 0;
                for (int i = kaynak + 1; i <= hedef; i++)
                {
                    Mesafe += Ekrandakiler[i].Pano.Height + Ayarlar.İkiMesajArasıMesafe;

                    Ekrandakiler[i].HedefKonum.Y -= Ekrandakiler[kaynak].Pano.Height + Ayarlar.İkiMesajArasıMesafe;
                    Ekrandakiler[i].EkranGüncellemesiGerekiyor = true;
                }

                Ekrandakiler[kaynak].HedefKonum.Y += Mesafe;
            }

            Ekrandaki_ gecici = Ekrandakiler[kaynak];

            Ekrandakiler.RemoveAt(kaynak);
            Ekrandakiler.Insert(hedef, gecici);
            BekleyenEkranlama.Add(new BekleyenEkranlama_()
            {
                EkranlamaTipi = Bekleyen_Ekranlama_Tipi_.ÖneGetir, Nesne = gecici.Pano
            });
        }
示例#2
0
        void Bekleyenİşlemler_Ekle()
        {
            if (Bekleyenİşlemler[0].Mesaj.Yazılar.Count == 0)
            {
                Bekleyenİşlemler[0].Mesaj.Yazılar.Add(new Girdi_Yazı_()
                {
                    Metin = " "
                });
            }

            Ekrandaki_ Ekrn = new Ekrandaki_();

            Ekrn.EkranGüncellemesiGerekiyor = true;
            Ekrn.Pano        = new Panel();
            Ekrn.Pano.Tag    = ++YaratılanPanoSayısı;
            Ekrn.Hatırlatıcı = Bekleyenİşlemler[0].Mesaj.Hatırlatıcı;
            Ekrn.Tanım       = Bekleyenİşlemler[0].Mesaj.Tanım;

            Ekrn.Yazılar = new List <Control>();
            int EnUzunEtiketinUzunluğu      = 0;
            int EtiketlerinToplamYüksekliği = 0;

            if (Bekleyenİşlemler[0].Mesaj.Yazılar != null)
            {
                for (int i = 0; i < Bekleyenİşlemler[0].Mesaj.Yazılar.Count; i++)
                {
                    Control YeniEtiket = null;
                    switch (Bekleyenİşlemler[0].Mesaj.Yazılar[i].Tip)
                    {
                    case Girdi_Yazı_Tip_.Basit:
                        YeniEtiket = new Label()
                        {
                            AutoSize = true
                        };
                        break;

                    case Girdi_Yazı_Tip_.Değiştirilebilir:
                        YeniEtiket = new TextBox()
                        {
                            Width = Ayarlar.Genişlik_Değiştirilebilir
                        };
                        break;

                    case Girdi_Yazı_Tip_.Tuş:
                        YeniEtiket = new Button()
                        {
                            AutoSize = true
                        };
                        Bekleyenİşlemler[0].Mesaj.Yazılar[i].Üyelik_Tıklandı = true;
                        break;

                    case Girdi_Yazı_Tip_.Onay:
                        YeniEtiket = new CheckBox()
                        {
                            AutoSize = true
                        };
                        break;

                    case Girdi_Yazı_Tip_.Seçim:
                        YeniEtiket = new RadioButton()
                        {
                            AutoSize = true
                        };
                        break;

                    case Girdi_Yazı_Tip_.Yüzde:
                        YeniEtiket = new ProgressBar()
                        {
                            Width   = Ayarlar.Genişlik_Yüzde,
                            Maximum = 100,
                            Value   = 0
                        };
                        break;

                    case Girdi_Yazı_Tip_.Grup:
                        YeniEtiket = new ComboBox()
                        {
                            Width         = Ayarlar.Genişlik_Grup,
                            DropDownStyle = ComboBoxStyle.DropDownList
                        };
                        if (!string.IsNullOrEmpty(Bekleyenİşlemler[0].Mesaj.Yazılar[i].Metin))
                        {
                            if (Bekleyenİşlemler[0].Mesaj.Yazılar[i].Metin.Contains(";"))
                            {
                                (YeniEtiket as ComboBox).Items.AddRange(Bekleyenİşlemler[0].Mesaj.Yazılar[i].Metin.Split(';'));
                            }
                            else
                            {
                                (YeniEtiket as ComboBox).Items.Add(Bekleyenİşlemler[0].Mesaj.Yazılar[i].Metin);
                            }
                            (YeniEtiket as ComboBox).SelectedIndex = 0;
                        }
                        break;
                    }

                    if (YeniEtiket.GetType() != typeof(ComboBox))
                    {
                        YeniEtiket.Text = Bekleyenİşlemler[0].Mesaj.Yazılar[i].Metin;
                    }
                    if (!string.IsNullOrEmpty(Bekleyenİşlemler[0].Mesaj.Yazılar[i].İpucu))
                    {
                        İpucu.SetToolTip(YeniEtiket, Bekleyenİşlemler[0].Mesaj.Yazılar[i].İpucu);
                    }
                    if (Bekleyenİşlemler[0].Mesaj.Yazılar[i].Görünüm != null)
                    {
                        YeniEtiket.Font = Bekleyenİşlemler[0].Mesaj.Yazılar[i].Görünüm;
                    }
                    else if (Ayarlar.Varsayılan_Yazı_GörselDüzen != null)
                    {
                        YeniEtiket.Font = Ayarlar.Varsayılan_Yazı_GörselDüzen;
                    }
                    if (i > 0)
                    {
                        YeniEtiket.Location = new Point(0, Ekrn.Yazılar[i - 1].Location.Y + Ekrn.Yazılar[i - 1].Size.Height + Ayarlar.İkiYazıArasıMesafe);
                    }
                    else
                    {
                        YeniEtiket.Location = new Point(0, 0);
                    }
                    if (Bekleyenİşlemler[0].Mesaj.Yazılar[i].Üyelik_Tıklandı)
                    {
                        YeniEtiket.Click += Tıklandı;
                        YeniEtiket.Tag    = i;
                        YeniEtiket.Cursor = Cursors.Hand;
                    }
                    if (Bekleyenİşlemler[0].Mesaj.Yazılar[i].Üyelik_YazıDeğiştirildi)
                    {
                        YeniEtiket.TextChanged += YazıDeğişti;
                        YeniEtiket.Tag          = i;
                    }

                    Ekrn.Yazılar.Add(YeniEtiket);
                    Ekrn.Pano.Controls.Add(YeniEtiket);

                    if (YeniEtiket.Width > EnUzunEtiketinUzunluğu)
                    {
                        EnUzunEtiketinUzunluğu = YeniEtiket.Width;
                    }
                }
                EtiketlerinToplamYüksekliği = Ekrn.Yazılar[Ekrn.Yazılar.Count - 1].Location.Y + Ekrn.Yazılar[Ekrn.Yazılar.Count - 1].Height;
            }

            int ResiminYüksekliği = 0;
            int ResiminUzunluğu   = 0;

            if (Bekleyenİşlemler[0].Mesaj.SolaDayalıResim != null)
            {
                Ekrn.SolaDayalıResim = new PictureBox();

                if (!string.IsNullOrEmpty(Bekleyenİşlemler[0].Mesaj.SolaDayalıResim.İpucu))
                {
                    İpucu.SetToolTip(Ekrn.SolaDayalıResim, Bekleyenİşlemler[0].Mesaj.SolaDayalıResim.İpucu);
                }

                if (Bekleyenİşlemler[0].Mesaj.SolaDayalıResim.Resim != null)
                {
                    Ekrn.SolaDayalıResim.Image = Bekleyenİşlemler[0].Mesaj.SolaDayalıResim.Resim;
                }
                else if (Ayarlar.Varsayılan_Resim != null)
                {
                    Ekrn.SolaDayalıResim.Image = Ayarlar.Varsayılan_Resim;
                }

                if (Ayarlar.Varsayılan_Resim_Boyut.IsEmpty)
                {
                    Ekrn.SolaDayalıResim.SizeMode = PictureBoxSizeMode.Zoom;
                }
                else
                {
                    Ekrn.SolaDayalıResim.SizeMode = PictureBoxSizeMode.StretchImage;
                }

                if (Ayarlar.Varsayılan_Resim_Boyut.Height <= 0)
                {
                    Ekrn.SolaDayalıResim.Height = EtiketlerinToplamYüksekliği;
                }
                else if (Ayarlar.Varsayılan_Resim_Boyut.Height > 0)
                {
                    Ekrn.SolaDayalıResim.Height = Ayarlar.Varsayılan_Resim_Boyut.Height;
                }

                if (Ayarlar.Varsayılan_Resim_Boyut.Width <= 0)
                {
                    Ekrn.SolaDayalıResim.Width = EtiketlerinToplamYüksekliği;
                }
                else if (Ayarlar.Varsayılan_Resim_Boyut.Width > 0)
                {
                    Ekrn.SolaDayalıResim.Width = Ayarlar.Varsayılan_Resim_Boyut.Width;
                }

                int fark = 0;
                if (EtiketlerinToplamYüksekliği > Ekrn.SolaDayalıResim.Height)
                {
                    Ekrn.SolaDayalıResim.Location = new Point(0, (EtiketlerinToplamYüksekliği - Ekrn.SolaDayalıResim.Height) / 2);
                }
                else if (EtiketlerinToplamYüksekliği < Ekrn.SolaDayalıResim.Height)
                {
                    fark = (Ekrn.SolaDayalıResim.Height - EtiketlerinToplamYüksekliği) / 2;
                }

                Ekrn.Pano.Controls.Add(Ekrn.SolaDayalıResim);

                foreach (var etkt in Ekrn.Yazılar)
                {
                    etkt.Location = new Point(Ekrn.SolaDayalıResim.Width + Ayarlar.ResimİleYazıArasıMesafe, etkt.Location.Y + fark);
                }

                ResiminYüksekliği = Ekrn.SolaDayalıResim.Height;
                ResiminUzunluğu   = Ekrn.SolaDayalıResim.Width;

                if (Bekleyenİşlemler[0].Mesaj.SolaDayalıResim.Tıklanabilir)
                {
                    Ekrn.SolaDayalıResim.Click += Tıklandı;
                    Ekrn.SolaDayalıResim.Tag    = -1;
                    Ekrn.SolaDayalıResim.Cursor = Cursors.Hand;
                }
            }

            Ekrn.Pano.Height = EtiketlerinToplamYüksekliği > ResiminYüksekliği ? EtiketlerinToplamYüksekliği : ResiminYüksekliği;
            Ekrn.Pano.Width  = ResiminUzunluğu + Ayarlar.ResimİleYazıArasıMesafe + EnUzunEtiketinUzunluğu;
            if (Ayarlar.Çerçeveli)
            {
                Ekrn.Pano.Height     += 3;
                Ekrn.Pano.BorderStyle = BorderStyle.FixedSingle;
                Ekrn.Pano.Width       = AnaPano.Width - 1;
                Ekrn.Pano.Anchor      = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;
            }
            else
            {
                Ekrn.Pano.AutoSizeMode = AutoSizeMode.GrowAndShrink; Ekrn.Pano.AutoSize = true;
            }

            if (Bekleyenİşlemler[0].MesajNo == 0)
            {
                Ekrn.Pano.Location = new Point(AnaPano.Width + 10, 0);
                Ekrn.HedefKonum    = new Point(0, 0);
            }
            else
            {
                Ekrn.Pano.Location = new Point(AnaPano.Width + 10, Ekrandakiler[Bekleyenİşlemler[0].MesajNo - 1].HedefKonum.Y + Ekrandakiler[Bekleyenİşlemler[0].MesajNo - 1].Pano.Height + Ayarlar.İkiMesajArasıMesafe);
                Ekrn.HedefKonum    = new Point(0, Ekrn.Pano.Location.Y);
            }

            for (int i = Bekleyenİşlemler[0].MesajNo; i < Ekrandakiler.Count; i++)
            {
                Ekrandakiler[i].HedefKonum.Y += Ekrn.Pano.Height + Ayarlar.İkiMesajArasıMesafe;
                Ekrandakiler[i].EkranGüncellemesiGerekiyor = true;
            }

            Ekrandakiler.Insert(Bekleyenİşlemler[0].MesajNo, Ekrn);

            BekleyenEkranlama.Add(new BekleyenEkranlama_()
            {
                EkranlamaTipi = Bekleyen_Ekranlama_Tipi_.Ekle, Nesne = Ekrn.Pano
            });
        }