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

Görünüm: 20162|Yanıt: 0

[Kaynak] {"Bir elden çıkarılan nesneye erişilemez.\r\nNesne adı: 'Form1'."}.

[Bağlantıyı kopyala]
Yayınlandı 12.06.2016 16:28:41 | | | |

Bir form kapanırken istisnalardan nasıl kaçınılır, threadler arasında bir kontrol çağrısı yapılır, atılmış nesnelere erişemez.
Bir iş parçacığında iş parçacıkları arasında form çağrılırken ve invoke kullanılarak form kontrollerine değer atama veya özellikler değiştirilirse, iş parçacığı form kapatılmadan önce sonlandırılmazsa, böyle bir istisna her zaman çıkar: bir atılmış nesneye erişemez.
Bunun nedeni, form kontrolü iş parçacığında çağrıldığında, form çıkış yapılmış olması ve bu nedenle form çıkıştan önce tüm iş parçacıklarından çıkmasıdır. Bu sorunu çözmek için aşağıdaki kodu ekleyebilirsiniz:


Artık istisna çıkmaz.
system.environment.exit(0) çağırıldığında, hangi iş parçacığı kapanmaya zorlanırsa çıksın programdan tamamen çıkabilir ve program çok temiz bir şekilde sona erer.



Form Kapanış etkinliği

Form kapatıldığında, FormClosing olayı gerçekleşir. Bu etkinlik yönetiliyor. Bu, formla ilgili tüm kaynakları serbest bırakır.

Bu etkinliği iptal ederseniz, form açık kalır.

Form mod diyalogu olarak göründüğünde, Kapat seçeneğine tıklayarak formu gizler ve DialogResult özelliğini İptal eder. Bazı olaylarda DialogResult özelliği ayarlanarak, kullanıcı sağ üst köşedeki kapatma düğmesine tıkladığında DialogResult değeri geçersiz kılınabilir.

FormClosed etkinliği

FormClosed olayı, kullanıcı veya uygulama sınıfının Close veya Exit yöntemi formu kapattıktan sonra gerçekleşir.

Bu etkinliği formun bazı kaynaklarını serbest bırakmak için kullanabilirsiniz. Bu olayı giriş formuna bazı bilgileri kaydetmek veya ana formu güncellemek için de kullanabilirsiniz.





Önceki:C#/Winform sürüm 12306 girişi, görsel doğrulama koduna manuel olarak tıklayabilirsiniz
Önümüzdeki:İstemci IP adresi ve portu almak için C# soketi
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