Adım adım kılavuz: C ile Windows Forms Denetiminden Devralma #

C# ile devralma aracılığıyla güçlü özel denetimler oluşturabilirsiniz. Devralma aracılığıyla, standart Windows Forms denetimlerinin tüm doğal işlevlerini koruyarak özel işlevler de içeren denetimler oluşturabilirsiniz. Bu kılavuzda adlı basit bir devralınan denetim ValueButton oluşturabilirsiniz. Bu düğme, standart Windows Forms denetiminden işlevselliği devralacak ve Button adlı özel bir özelliği ortaya ButtonValue çıkarır.

Projeyi Oluşturma

Yeni bir proje oluşturduklarında, kök ad alanını, derleme adını ve proje adını ayarlamak ve varsayılan bileşenin doğru ad alanına geldiğinden emin olmak için proje adını belirtirsiniz.

ValueButtonLib denetim kitaplığını ve ValueButton denetimi oluşturmak için

  1. Bu Visual Studio, yeni bir Windows Forms Denetim Kitaplığı projesi oluşturun ve ValueButtonLib olarak ad verin.

    Proje adı, ValueButtonLib varsayılan olarak kök ad alanına da atanır. Kök ad alanı, derlemede bileşenlerin adlarının uygun olması için kullanılır. Örneğin, iki derleme adlı bileşenler ValueButton sağlarsa, kullanarak ValueButton bileşeninizi belirtebilirsiniz. ValueButtonLib.ValueButton Daha fazla bilgi için bkz. Ad alanları.

  2. Bu Çözüm GezginiUserControl1.cs'yesağ tıklayın ve ardından kısayol menüsünden Yeniden Adlandır'ı seçin. Dosya adını ValueButton.cs olarak değiştirme. '' kod öğesine yapılan tüm başvuruları yeniden adlandırmak istediğiniz sorulsa Evet düğmesine tıklayın.

  3. Bu Çözüm GezginiValueButton.cs'ye sağ tıklayın ve Kodu Görüntüle'yi seçin.

  4. deyim class satırı olan public partial class ValueButton 'ı bulun ve bu denetimin devralınarak olan türünü olarak UserControlButton değiştirir. Bu, devralınan denetiminizin denetimin tüm işlevlerini devralmalarına olanak Button sağlar.

  5. Bu Çözüm Gezgini,ValueButton.Designer.cs tasarımcı tarafından oluşturulan kod dosyasını görüntülemek için ValueButton.cs düğümünü açın. Bu dosyayı Kod Düzenleyicisi'nde açın.

  6. yöntemini InitializeComponent bulun ve özelliği atatan satırı AutoScaleMode kaldırın. Bu özellik denetimde Button yok.

  7. Projeyi kaydetmek için Dosya menüsünden Hepsini Kaydet'i seçin.

    Not

    Görsel tasarımcı artık kullanılamaz. Denetim Button kendi tablolarını yaptığı için tasarımcının görünümünü değiştiremezsiniz. Görsel gösterimi, kodda değiştirilmediği sürece sınıfından devralınan sınıfla (yani Button ) tam olarak aynı olur. Tasarım yüzeyine kullanıcı arabirimi öğelerine sahip bir bileşen eklemeye devam edersiniz.

Devralınmış Denetiminize Özellik Ekleme

Devralınmış Formlar Windows olası kullanımlarından biri, standart Windows Forms denetimlerinin görünüm ve görünümde aynı olan ancak özel özellikleri açığa çıkaran denetimlerin oluşturulmasıdır. Bu bölümde denetiminize adlı bir özellik ButtonValue eksersiniz.

Value özelliğini eklemek için

  1. Bu Çözüm GezginiValueButton.cs'yesağ tıklayın ve ardından kısayol menüsünden Kodu Görüntüle'ye tıklayın.

  2. deyimini class bulun. 'den hemen { sonra aşağıdaki kodu yazın:

    // Creates the private variable that will store the value of your
    // property.
    private int varValue;
    // Declares the property.
    public int ButtonValue
    {
       // Sets the method for retrieving the value of your property.
       get
       {
          return varValue;
       }
       // Sets the method for setting the value of your property.
       set
       {
          varValue = value;
       }
    }
    

    Bu kod, özelliğin depolandığı ButtonValue ve alınarak yöntemleri ayarlar. deyimi, döndürülen değeri özel değişkende depolanan değere ayarlar ve deyimi anahtar sözcüğünü kullanarak özel getvarValueset değişkenin değerini value ayarlar.

  3. Projeyi kaydetmek için Dosya menüsünden Hepsini Kaydet'i seçin.

Denetimi test etmek

Denetimler tek başına projeler değildir; bir kapsayıcıda barındırnmaları gerekir. Denetiminizi test etmek için içinde çalışması için bir test projesi sağlanız gerekir. Ayrıca, derlemeyi (derlemeyi) kullanarak denetiminizi test projesine erişilebilir hale de alasiniz. Bu bölümde denetiminizi derlemek ve form oluşturmak için Windows.

Denetiminizi oluşturmak için

Yapı menüsünde Yapı Çözümü’ne tıklayın. Derlemenin, derleyici hatası veya uyarısıyla başarılı olması gerekir.

Test projesi oluşturmak için

  1. Dosya menüsünde Ekle'nin üzerine gelin ve ardından Yeni Project'a tıklar ve Yeni Project iletişim kutusunu açın.

  2. Visual C# Windows altındaki uygulama düğümünü seçin ve FormlarUygulaması'Windows tıklayın.

  3. Ad kutusunaTestyazın.

  4. Bu Çözüm Gezgini,test projenizin Başvurular düğümüne sağ tıklayın ve ardından kısayol menüsünden Başvuru Ekle'yi seçerek Başvuru Ekle iletişim kutusunu açın.

  5. Projeler etiketli sekmeye tıklayın. ValueButtonLib projeniz Ad altında Project listelenir. Test projesine başvuru eklemek için projeye çift tıklayın.

  6. Bu Çözüm Gezgini Test'e sağ tıklayın ve Derleme'yiseçin.

Denetiminizi forma eklemek için

  1. Bu Çözüm GezginiForm1.cs'ye sağ tıklayın ve kısayol menüsünden Görünüm Tasarımcısı'yi seçin.

  2. Araç Kutusunda ValueButtonLib Bileşenleri'ne tıklayın. ValueButton'a çift tıklayın.

    Formda bir ValueButton görüntülenir.

  3. ValueButton'a sağ tıklayın ve kısayol menüsünden Özellikler'i seçin.

  4. Özellikler penceresinde, bu denetimin özelliklerini inceler. Bunların standart bir düğme tarafından ortaya çıkarıldığından, ButtonValue ek bir özelliği olması dışında özelliklerle aynı olduğunu unutmayın.

  5. ButtonValue özelliğini5 olarak ayarlayın.

  6. Araç Kutusunun Tüm Windows Formlarsekmesinde,forma denetim eklemek için Etiket'e çift tıklayın.

  7. Etiketi formun merkezine yeniden yer açın.

  8. çift valueButton1 tıklayın.

    Kod Düzenleyicisi olayı açar.

  9. Aşağıdaki kod satırına tıklayın.

    label1.Text = valueButton1.ButtonValue.ToString();
    
  10. Bu Çözüm Gezgini,Test 'e sağ tıklayınve kısayol menüsünden Başlangıç Project Olarak Ayarla'yı seçin.

  11. Hata Ayıklama menüsünden Hata Ayıklamayı Başlat'ı seçin.

    Form1 Görünür.

  12. valueButton1 öğesine tıklayın.

    '5' sayısı içinde görüntülenir ve devralınan denetiminizin özelliğinin yöntemi aracılığıyla label1ButtonValue geçirildi label1 olduğunu valueButton1_Click belirtir. Bu nedenle ValueButton denetiminiz, Standart Formlar düğmesinin Windows devralınır, ancak ek bir özel özelliği açığa çıkarır.

Ayrıca bkz.