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 }); }
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 }); }