Aracılığıyla paylaş


Denetim ve Bileşen Yazma Sorunlarını Giderme

Bu konuda, bileşenler ve denetimler geliştirirken ortaya çıkan aşağıdaki yaygın sorunlar listelenmiştir:

  • Araç Kutusuna Denetim Eklenemiyor

  • Windows Forms Kullanıcı Denetimi veya Bileşeninde Hata Ayıklanamıyor

  • Devralınan Denetimde veya Bileşende Olay İki Kez Tetikleniyor

  • Design-Time Hatası: "Bileşen Oluşturulamadı 'Bileşen Adı'"

  • STAThreadAttribute

  • Bileşen Simgesi Araç Kutusunda Görünmüyor

Araç Kutusuna Denetim Eklenemiyor

başka bir projede veya üçüncü taraf denetiminde oluşturduğunuz özel bir denetimi Araç Kutusueklemek istiyorsanız, bunu el ile yapmalısınız. Eğer geçerli proje kontrolünüzü veya bileşeninizi içeriyorsa, bu öğeler otomatik olarak Araç Kutusu içinde görünmesi gerekir. Daha fazla bilgi için bkz. Kılavuz: Araç Kutusunu Özel Bileşenlerle Otomatik Olarak Doldurma.

Araç Kutusu'na denetim eklemek için

  1. Araç Kutusu üzerine sağ tıklayın ve kısayol menüsündenÖğeleri Seç seçeneğini seçin.

  2. Araç Kutusu Öğeleri Seç iletişim bileşeni ekleyin:

    • .NET Framework bileşeni veya denetimi eklemek istiyorsanız, .NET Framework Bileşenleri sekmesine tıklayın.

      –veya–

    • COM bileşeni veya ActiveX denetimi eklemek istiyorsanız COM Bileşenleri sekmesine tıklayın.

  3. denetiminiz iletişim kutusunda listeleniyorsa, seçili olduğunu onaylayın ve ardındanTamam'a tıklayın.

    Denetim, Araç Kutusu'e eklendi.

  4. Denetiminiz iletişim kutusunda listelenmiyorsa aşağıdakileri yapın:

    1. Gözat düğmesine tıklayın.

    2. Denetiminizi içeren .dll dosyasını içeren klasöre göz atın.

    3. .dll dosyasını seçin ve 'e tıklayın.

      Denetiminiz iletişim kutusunda görünür.

    4. Denetiminizin seçili olduğunu onaylayın ve ardından Tamam'atıklayın.

      Denetiminiz Araç Kutusu'e eklenir.

Windows Forms Kullanıcı Denetimi veya Bileşeninde Hata Ayıklanamıyor

Denetiminiz UserControl sınıfından türetilirse, test kapsayıcısıyla çalışma zamanı davranışını test edebilirsiniz. Daha fazla bilgi için bkz. Nasıl yapılır: UserControl'nin Run-Time Davranışını Test Etme.

Diğer özel denetimler ve bileşenler tek başına projeler değildir. 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

  1. Derleme menüsünden Çözümü Derle'ye tıklayarak çözümünüzü derleyin.

  2. Dosya menüsünden Ekle'yi seçin ve ardından uygulamanıza test projesi eklemek için Yeni Proje'.

  3. Yeni Proje Ekle iletişim kutusunda, proje türü için windows uygulama seçin.

  4. Çözüm Gezgini'nde, yeni proje için Başvurular öğesine sağ tıklayın. Denetimi veya bileşeni içeren projeye referans eklemek için kısayol menüsünde Başvuru Ekle'ye tıklayın.

  5. Test projesinde denetiminizin veya bileşeninizin bir örneğini oluşturun. Bileşeniniz Araç Kutusuise, aşağıdaki kod örneğinde gösterildiği gibi bileşeni tasarımcı yüzeyine sürükleyebilirsiniz veya örneği program aracılığıyla oluşturabilirsiniz.

    Dim Component1 As New MyNeatComponent()
    
    MyNeatComponent Component1 = new MyNeatComponent();
    

    Artık denetiminizde veya bileşeninizde her zamanki gibi hata ayıklayabilirsiniz.

Hata ayıklama hakkında daha fazla bilgi için bkz. Visual Studio'da Hata Ayıklama ve İzlenecek Yol: Tasarım Zamanında Özel Windows Forms Denetimlerinde Hata Ayıklama.

Devralınan Denetimde veya Bileşende Olay İki Kez Tetikleniyor

Bunun nedeni büyük olasılıkla yinelenen bir Handles yan tümcesi olabilir. Daha fazla bilgi için bkz. Visual Basic'da Devralınan Olay İşleyicilerinde Sorun Giderme .

Design-Time Hatası: "Bileşen 'Bileşen Adı' Oluşturulamadı"

Bileşeniniz veya denetiminiz parametre içermeyen bir oluşturucu sağlamalıdır. Tasarım ortamı, bileşeninizin veya denetiminizin bir örneğini oluşturduğunda, parametre alan kurucu aşırı yüklemelerine herhangi bir parametre sağlamaya çalışmaz.

STAThreadAttribute

STAThreadAttribute, ortak dil çalışma zamanına (CLR) Windows Forms'un tek iş parçacıklı daire modelini kullandığını bildirir. Bu özniteliği Windows Forms uygulamanızın Main yöntemine uygulamazsanız istenmeyen davranışlar görebilirsiniz. Örneğin, ListViewgibi denetimler için arka plan görüntüleri görünmeyebilir. Bazı denetimler doğru Otomatik Tamamlama ve sürükleyip bırakma davranışı için de bu özniteliği gerektirebilir.

Bileşen Simgesi Araç Kutusunda Görünmüyor

Bir simgeyi özel bileşeninizle ilişkilendirmek için ToolboxBitmapAttribute kullandığınızda, bit eşlem otomatik olarak oluşturulan bileşenler için Araç Kutusu'nda görünmez. Bitmap'i görmek için, denetimi Araç Kutusu Öğeleri Seç iletişim kutusunu kullanarak yeniden yükleyin. Daha fazla bilgi için bkz. Bir Denetim İçin Araç Kutusu Bit Eşlemi Sağlama.

Ayrıca bakınız