Aracılığıyla paylaş


Nasıl yapılır: Mevcut Windows Formları Denetimlerinden Devralma

Mevcut bir denetimin işlevselliğini genişletmek istiyorsanız, devralma yoluyla var olan bir denetimden türetilmiş bir denetim oluşturabilirsiniz. Var olan bir denetimden devralırken, bu denetimin tüm işlevlerini ve görsel özelliklerini devralırsınız. Örneğin, öğesinden Buttondevralınan bir denetim oluşturuyorsanız, yeni denetiminiz tam olarak standart Button bir denetim gibi görünür ve davranır. Daha sonra özel yöntemlerin ve özelliklerin uygulanması yoluyla yeni denetiminizin işlevselliğini genişletebilir veya değiştirebilirsiniz. Bazı denetimlerde, devralınan denetiminizin yöntemini geçersiz kılarak OnPaint görsel görünümünü de değiştirebilirsiniz.

Devralınan denetim oluşturmak için

  1. Visual Studio'da yeni bir Windows Forms Uygulaması projesi oluşturun.

  2. Proje menüsünden Yeni Öğe Ekle'yi seçin.

    Yeni Öğe Ekle iletişim kutusu görünür.

  3. Yeni Öğe Ekle iletişim kutusunda Özel Denetim'e çift tıklayın.

    Projenize yeni bir özel denetim eklenir.

  4. Kullanıyorsanız:

    • Visual Basic, Çözüm Gezgini üst kısmında Tüm Dosyaları Göster'e tıklayın. CustomControl1.vb öğesini genişletin ve CustomControl1'i açın. Kod Düzenleyicisi'nde Tasarım Aracı.vb.
    • C#, Kod Düzenleyicisi'nde CustomControl1.cs dosyasını açın.
  5. öğesinden devralan sınıf bildirimini Controlbulun.

  6. Temel sınıfı, devralmak istediğiniz denetimle değiştirin.

    Örneğin, öğesinden Buttondevralmak istiyorsanız sınıf bildirimini aşağıdaki şekilde değiştirin:

    Partial Class CustomControl1
        Inherits System.Windows.Forms.Button
    
    public partial class CustomControl1 : System.Windows.Forms.Button
    
  7. Visual Basic kullanıyorsanız CustomControl1'i kaydedin ve kapatın. Tasarım Aracı.vb. Kod Düzenleyicisi'nde CustomControl1.vb dosyasını açın.

  8. Denetiminizin dahil edeceği özel yöntemleri veya özellikleri uygulayın.

  9. Denetiminizin grafik görünümünü değiştirmek istiyorsanız yöntemini geçersiz kılın OnPaint .

    Dekont

    Geçersiz kılma OnPaint , tüm denetimlerin görünümünü değiştirmenize izin vermez. Tüm tablolarını Windows tarafından yaptıran denetimler (örneğin, TextBox) yöntemlerini hiçbir zaman çağırmaz OnPaint ve bu nedenle özel kodu hiçbir zaman kullanmaz. Yöntemin kullanılabilir olup olmadığını görmek için değiştirmek istediğiniz denetimin Yardım belgelerine OnPaint bakın. Tüm Windows Form Denetimlerinin listesi için bkz . Windows Forms'da Kullanılacak Denetimler. Bir denetim üye yöntemi olarak listelenmemişse OnPaint , bu yöntemi geçersiz kılarak görünümünü değiştiremezsiniz. Özel boyama hakkında daha fazla bilgi için bkz . Özel Denetim Boyama ve İşleme.

    Protected Overrides Sub OnPaint(ByVal e As _
       System.Windows.Forms.PaintEventArgs)
       MyBase.OnPaint(e)
       ' Insert code to do custom painting.
       ' If you want to completely change the appearance of your control,
       ' do not call MyBase.OnPaint(e).
    End Sub
    
    protected override void OnPaint(PaintEventArgs pe)
    {
       base.OnPaint(pe);
       // Insert code to do custom painting.
       // If you want to completely change the appearance of your control,
       // do not call base.OnPaint(pe).
    }
    
  10. Denetiminizi kaydedin ve test edin.

Ayrıca bkz.