Soran
Static Veriye Invoke Uygulama

Soru
-
Merhabalar background worker ile main thread bir veriye ulaşmak istiyorum.
private static void FirmaTeklifEkleme(Panel pnl)
{
temizle(pnl);
pnl.Visible = true;
pnl.Location = new Point(263, 0);
pnl.Size = new Size(997, 553);
pnl.Dock = DockStyle.Fill;
DoğrudanTeminPeriyodikFirmaEkleme firma = new DoğrudanTeminPeriyodikFirmaEkleme();
firma.TopLevel = false;
firma.Dock = DockStyle.Fill;
firma.FormBorderStyle = FormBorderStyle.None;
pnl.Controls.Add(firma);
firma.Show();
}bu method hata veriyor.Static method invoke yapıp bu veriye nasıl ulaşabilirim ustalarım..
Tüm Yanıtlar
-
sorunu bu şekil çözdüm.Hata veren kod parçasını,
if (pnl.InvokeRequired) //Forma gelen talebin farklı bir iş parçacığından gelip gelmediği kontrol ediliyor.
{
//Eğer farklı bir iş parçacığından talep gelmişse aşağıdaki Invoke metoduyla işlem gerçekleştiriliyor.
pnl.Invoke((MethodInvoker)delegate ()
{
pnl.Controls.Add(firma);
});
}ancak bundan sonra panelimde yüklenen formda program donuyor bunun sebebi nedir ?
- Düzenleyen kadirsoft 22 Ekim 2019 Salı 07:37
-
Çözdüğünüze sevindim ama bunlar 10 yıldan eski yöntemler. Günümüzde async/await , TPL gibi yöntemlerle çözüyoruz bunları. İlgili anahtar sözcükleri araştırmanızı öneririm.
- Düzenleyen Cihan YakarMVP 22 Ekim 2019 Salı 07:45
-
-
Dediklerinizi araştıracağım.
Cihan bey formların donma olayı hakkında bilgi alabilir miyim ? onu hala çözebilmiş değilim.