Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 16327|Yanıt: 5

[WinForm] Arka plan iş parçacıkları çerçeve web sayfalarını nasıl çalıştırıyor

[Bağlantıyı kopyala]
Yayınlandı 22.01.2019 21:43:08 | | |
Öncelikle, aşağıdaki ifadeyi bir arayüz iş parçacığıyla çalıştırırsam bir sorun olmaz
        private void button9_Click_1(object sender, EventArgs e)
        {
            MSHTML. HTMLDocument doc = GetIe("URL"); GetIe, belirli bir URL'de IE belgelerini almak için kullanılan bir yöntemdir;
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }
Ancak, arka planda bir iş parçacığına koyarsam bir istisna çıkarıyor: InvalidCastException, belirtilen dönüşüm geçersiz, kod şöyle
   private async void button9_Click_1(object sender, EventArgs e)
        {
            Eylem eylemi = yeni Eylem(test12);
            bekle Görev.Çalıştır(aksiyon);
        }
        özel void test12()
        {
            MSHTML. HTMLDocument doc = GetIe("URL");
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }

。。。 Doğru olanı nasıl yazılır?




Önceki:Bugünün C# Çalışma Notları
Önümüzdeki:"Senran Kagura Patlaması: Re:Newal" Çince ve İngilizce serbest versiyon
Yayınlandı 23.01.2019 08:03:26 |
Yayınlandı 23.01.2019 09:08:36 |

Puan

Katılımcı sayısı1MB+1 Katkı+1 Çökmek sebep
crystal0330 + 1 + 1 Çok güçlü!

Tüm puanları gör

 Ev sahibi| Yayınlandı 23.01.2019 22:04:56 |

Çok teşekkür ederim, sorun çözüldü, sadece assenkron konusunda yeniyim ve neden böyle yazıldığını anlamıyorum, açıklasanız daha mükemmel olurdu.
 Ev sahibi| Yayınlandı 24.01.2019 06:38:37 |
Bu gönderi son olarak crystal0330 tarafından 2019-1-24 06:55 tarihinde düzenlenmiştir

Merhaba, gelecekte bir sorunla karşılaştım:



ClickYes, fareyi açılır penceredeki OK tuşuna götürüp iki kez tıklamanızı sağlayan bir yöntemdir



Şimdi iki sorunum var:
1. Şöyle yaz,ClickYes sadece izin verebilirFares'in ikinci tıklaması, yani ilk tıklama yürütülmez, eğer arayüz başlığındaysa, iki kez tıklanabilir;
2. ClickYes yönteminde bir kırılma noktasına ulaştım ve program kesildikten sonra tekrar F11'e bastım ve ClickYes'te bir sonraki kodu çalıştırmadım. Peki adım adım nasıl hata ayıklama yapılır?

 Ev sahibi| Yayınlandı 24.01.2019 14:33:03 |

Merhaba, tekrar denedim ve böyle yazdığımda winform arayüzü yine takılı kalıyor, bu da doğrudan UI thread'i kullanmakla aynı etki...
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com