none
Form açılırken Titreme sorunu RRS feed

  • Soru

  • merhabalar;

    seriport üzerinden gelen datalara göre form çagırıp açıyorum.

    formu tam ekran açıyorum kodu bu ,

      FormBorderStyle = FormBorderStyle.None;
      WindowState = FormWindowState.Maximized;

    seriporttan gelen data için

    aşağıdaki kodu kullanıyorum basarılı yanlız form çağırırken formda titreme meydana gelıyor.

    sankı 2 3 defa açılıyormus gibi ama 1 form açılıyor thread mı kullanmalıyım öneriniz varsa yazmanız ricasıyla

    try
    {
        SerialPort sp = (SerialPort)sender;
        var s = sp.ReadExisting());
        Invoke((Action)(() => {
            if (s == "<1")
            {
                Form2 hakan = new Form2();
                hakan.Show();
            }
        }));
    }
    catch (Exception ex)
    {
    
    }

    12 Ağustos 2016 Cuma 07:13

Yanıtlar

  • WPF ile yapmak lazım, form aç kapa olmaz o iş.

    Ayrıca model oluşturup, dictionary içine koymak lazım :)

    proje baştan yapılmalı anlayacağın.

     

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen Hakan sevim 12 Ağustos 2016 Cuma 11:36
    12 Ağustos 2016 Cuma 09:21
    Moderatör

Tüm Yanıtlar

  • WPF ile yapmak lazım, form aç kapa olmaz o iş.

    Ayrıca model oluşturup, dictionary içine koymak lazım :)

    proje baştan yapılmalı anlayacağın.

     

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen Hakan sevim 12 Ağustos 2016 Cuma 11:36
    12 Ağustos 2016 Cuma 09:21
    Moderatör
  • önay bey cok tesekkur ederim tek sorunum  sn sonra ana ekran donerken beyazlıgın gozukmesi onu nasıl çözücez bir türlü yapamadım :((
    12 Ağustos 2016 Cuma 11:35
  • ObjectPool sistemini araştırabilirsin. Yaptığın şey güvenli değil ve büyük hatalı bir kod. Doğrusu için async Task kullanarak çağırman, await ile okuman gerekir.

    Titreme sebebi büyük ihtimal form ekrana çizilmesi için gereken kaynağı, projen asenkron olmadığı için Read()'a harcıyor. Bu yüzden FPS düşüşü gibi birşey oluyor.

    Diğer bir önerim ise bu kodu FormLoad olayında çağırmaman. Önce constructor çağırılıp, daha sonra form'un düzgün yüklenip yüklenmediğini kontrol ettikten sonra çalıştırman daha yararlı olur. Bu şekilde form elementlerin yüklenmesi gereken kaynağı SerialPort'a harcıyorsun.
    • Düzenleyen lFurkanl 12 Ağustos 2016 Cuma 15:04
    12 Ağustos 2016 Cuma 15:03