Denetim ve Bileşen Yazmada Sorun Giderme
Bu konuda, bileşenleri ve denetimleri geliştirirken ortaya çıkan aşağıdaki yaygın sorunlar listelenmektedir:
Araç kutusu 'na denetim eklenemiyor
Windows Forms kullanıcı denetiminde veya bileşende hata ayıklaması yapılamıyor
Devralınan denetimde veya bileşende olay Iki kez getirilir
Design-Time hatası: "'" bileşenadı' "bileşeni oluşturulamadı
STAThreadAttribute
Bileşen simgesi araç kutusunda görünmüyor
Araç kutusu 'na denetim eklenemiyor
Araç kutusuiçin başka bir projede veya üçüncü taraf denetiminde oluşturduğunuz özel bir denetim eklemek istiyorsanız, bunu el ile yapmanız gerekir. Geçerli proje denetim veya bileşeninizi içeriyorsa araç kutusunda otomatik olarak görünmelidir. Daha fazla bilgi için bkz. Izlenecek yol: araç kutusunu özel bileşenlerle otomatik olarak doldurma.
Araç kutusuna denetim eklemek için
Araç kutusuna sağ tıklayıp kısayol menüsünden öğeleri seç' i seçin.
Araç kutusu öğelerini Seç iletişim kutusunda, bileşeni ekleyin:
.NET Framework bir bileşen veya denetim eklemek istiyorsanız, .NET Framework bileşenleri sekmesine tıklayın.
veya
bir com bileşeni veya ActiveX denetimi eklemek istiyorsanız com bileşenleri sekmesine tıklayın.
Denetiminiz iletişim kutusunda listeleniyorsa, seçili olduğunu onaylayın ve ardından Tamam' a tıklayın.
Denetim araç kutusunaeklenir.
Denetiminiz iletişim kutusunda listelenmiyorsa, şunları yapın:
Araştır düğmesine tıklayın.
Denetiminizi içeren .dll dosyasını içeren klasöre gidin.
.dll dosyasını seçin ve Aç' a tıklayın.
Denetiminiz iletişim kutusunda görünür.
Denetiminizin seçili olduğunu doğrulayın ve ardından Tamam' a tıklayın.
Denetiminiz araç kutusunaeklenir.
Windows Forms kullanıcı denetiminde veya bileşende hata ayıklaması yapılamıyor
Denetiminiz sınıftan türetildiğinden UserControl , çalışma zamanı davranışının hata ayıklaması için test kapsayıcısını kullanabilirsiniz. Daha fazla bilgi için bkz. nasıl yapılır: bir UserControl 'un Run-Time davranışını test etme.
Diğer özel denetimler ve bileşenler tek başına projeler değildir. bunlar, Windows Forms projesi gibi bir uygulama tarafından barındırılmalıdır. bir denetimin veya bileşenin hatalarını ayıklamak için bir Windows Forms projesine eklemeniz gerekir.
Bir denetimin veya bileşenin hatalarını ayıklamak için
Çözümünüzü derlemek için Build (derleme ) menüsünde çözüm oluştur ' a tıklayın.
uygulamanıza bir test projesi eklemek için dosya menüsünden ekle' yi ve sonra yeni Project ' yi seçin.
yeni Project ekle iletişim kutusunda proje türü için Windows uygulama ' yı seçin.
Çözüm Gezgini, yeni proje için Başvurular düğümüne sağ tıklayın. Denetim veya bileşen içeren projeye başvuru eklemek için kısayol menüsünde Başvuru Ekle ' ye tıklayın.
Test projesinde denetiminizin veya bileşeninizin bir örneğini oluşturun. Bileşeniniz araç kutusundaise tasarımcı yüzeyine sürükleyebilirsiniz veya aşağıdaki kod örneğinde gösterildiği gibi örneği programlı bir şekilde oluşturabilirsiniz.
Dim Component1 As New MyNeatComponent()MyNeatComponent Component1 = new MyNeatComponent();Artık, denetim veya bileşeninizdeki hataları her zamanki gibi ayıklayabilirsiniz.
hata ayıklama hakkında daha fazla bilgi için, bkz. Visual Studio hata ayıklama ve izlenecek yol: tasarım zamanında özel Windows Forms denetimlerinde hata ayıklama.
Devralınan denetimde veya bileşende olay Iki kez getirilir
Bunun nedeni, bir yinelenen Handles yan tümcesi olabilir. Daha fazla bilgi için bkz. Visual Basic devralınan olay Işleyicilerinin sorunlarını giderme.
Design-Time hatası: "'" bileşen adı ' "bileşeni oluşturulamadı
Bileşeninizin veya denetiminizin parametresiz bir Oluşturucu sağlaması gerekir. Tasarım ortamı, bileşeninizin veya denetiminizin bir örneğini oluşturduğunda, parametreleri alan Oluşturucu aşırı yüklerini parametre sağlamaya çalışmaz.
STAThreadAttribute
, STAThreadAttribute Windows Forms tek iş parçacıklı grup modelini kullanan ortak dil çalışma zamanına (CLR) bildirir. bu özniteliği Windows Forms uygulamanızın yöntemine uygulamadıysanız istenmeden bir davranış fark edebilirsiniz Main . Örneğin, gibi denetimler için arka plan görüntüleri görünmeyebilir ListView . Bazı denetimler, doğru otomatik tamamlama ve sürükle ve bırak davranışı için de bu özniteliği gerektirebilir.
Bileşen simgesi araç kutusunda görünmüyor
ToolboxBitmapAttributeÖzel bileşeninizdeki bir simgeyi ilişkilendirmek için kullandığınızda, otomatik olarak oluşturulmuş bileşenler Için araç kutusunda bit eşlem görüntülenmez. Bit eşlemi görmek için araç kutusu öğelerini Seç iletişim kutusunu kullanarak denetimi yeniden yükleyin. Daha fazla bilgi için bkz. nasıl yapılır: bir denetim Için araç kutusu bit eşlemi sağlama.