Aracılığıyla paylaş


İzlenecek Yol: C ile Windows Forms Denetiminden Devralma#

C# ile devralma yoluyla güçlü özel denetimler oluşturabilirsiniz. Devralma aracılığıyla, standart Windows Forms denetimlerinin tüm doğal işlevlerini koruyan ama aynı zamanda özel işlevleri de içeren denetimler oluşturabilirsiniz. Bu kılavuzda adlı ValueButtonbasit bir devralınan denetim oluşturacaksınız. Bu düğme, standart Windows Forms Button denetiminden işlevselliği devralır ve adlı ButtonValueözel bir özelliği kullanıma sunar.

Projeyi Oluşturma

Yeni bir proje oluşturduğunuzda, kök ad alanını, derleme adını ve proje adını ayarlamak ve varsayılan bileşenin doğru ad alanında olmasını sağlamak için adını belirtirsiniz.

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

  1. Visual Studio'da yeni bir Windows Forms Denetim Kitaplığı projesi oluşturun ve buna ValueButtonLib adını verin.

    Proje adı olan ValueButtonLib, varsayılan olarak kök ad alanına da atanır. Kök ad alanı, derlemedeki bileşenlerin adlarını nitelemek için kullanılır. Örneğin, iki derleme adlı ValueButtonbileşenler sağlıyorsa, kullanarak bileşeninizi ValueButtonValueButtonLib.ValueButtonbelirtebilirsiniz. Daha fazla bilgi için bkz . Ad alanları.

  2. Çözüm Gezgini'da UserControl1.cs'ye sağ tıklayın ve kısayol menüsünden Yeniden Adlandır'ı seçin. Dosya adını ValueButton.cs olarak değiştirin. 'UserControl1' kod öğesine yapılan tüm başvuruları yeniden adlandırmak isteyip istemediğiniz sorulduğunda Evet düğmesine tıklayın.

  3. Çözüm Gezgini'de ValueButton.cs dosyasına sağ tıklayın ve Kodu Görüntüle'yi seçin.

  4. class deyimi satırını public partial class ValueButtonbulun ve bu denetimin öğesinden UserControlButtondevraldığı türü olarak değiştirin. Bu, devralınan denetiminizin denetimin tüm işlevlerini Button devralmasını sağlar.

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

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

  7. Dosyayı kaydetmek için Dosya menüsünde Tümünü Kaydet'i seçin.

    Dekont

    Görsel tasarımcı artık kullanılamıyor. Button Denetim kendi resmini yaptığı için tasarımcıdaki görünümünü değiştiremezsiniz. Görsel gösterimi, kodda değiştirilmediği sürece devraldığı sınıfın (başka bir ifadeyle Button) tam olarak aynı olacaktır. Yine de tasarım yüzeyine kullanıcı arabirimi öğeleri olmayan bileşenler ekleyebilirsiniz.

Devralınan Denetiminize Özellik Ekleme

Devralınan Windows Forms denetimlerinin olası kullanımlarından biri, standart Windows Forms denetimlerinin genel görünümüyle aynı olan ancak özel özellikleri kullanıma sunan denetimlerin oluşturulmasıdır. Bu bölümde, denetiminize adlı ButtonValue bir özellik ekleyebilirsiniz.

Value özelliğini eklemek için

  1. Çözüm Gezgini'de ValueButton.cs dosyasına sağ tıklayın ve kısayol menüsünde Kodu Görüntüle'ye tıklayın.

  2. deyimini class bulun. öğesinin {hemen ardından 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ığı ve alındığı ButtonValue yöntemleri ayarlar. deyimi get , döndürülen değeri özel değişkeninde varValuedepolanan değere ayarlar ve set deyimi de anahtar sözcüğünü kullanarak özel değişkenin value değerini ayarlar.

  3. Dosyayı kaydetmek için Dosya menüsünde Tümünü Kaydet'i seçin.

Denetimi test edin

Denetimler tek başına projeler değildir; bir kapsayıcıda barındırılmalıdır. Denetiminizi test etmek için, içinde çalışması için bir test projesi sağlamanız gerekir. Ayrıca, denetiminizi oluşturarak (derleyerek) test projesi için erişilebilir hale getirmelisiniz. Bu bölümde, denetiminizi oluşturacak ve bir Windows Formunda test edeceksiniz.

Denetiminizi oluşturmak için

Yapı menüsünde Yapı Çözümü’ne tıklayın. Derleme, derleyici hatası veya uyarı olmadan başarılı olmalıdır.

Test projesi oluşturmak için

  1. Dosya menüsünde Ekle'nin üzerine gelin ve Yeni Proje'ye tıklayarak Yeni Proje Ekle iletişim kutusunu açın.

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

  3. Ad kutusuna Test yazın.

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

  5. Projeler etiketli sekmeye tıklayın. ValueButtonLib projeniz Proje Adı altında listelenir. Başvuruyu test projesine eklemek için projeye çift tıklayın.

  6. Çözüm Gezgini'da Test'e sağ tıklayın ve Oluştur'a tıklayın.

Denetiminizi forma eklemek için

  1. Çözüm Gezgini'da Form1.cs'ye sağ tıklayın ve kısayol menüsünden Tasarım Aracı Görüntüle'yi seçin.

  2. Araç Kutusu'nda ValueButtonLib Bileşenleri'ni seçin. DeğerDüğmesi'ne çift tıklayın.

    Formda bir ValueButton görüntülenir.

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

  4. Özellikler penceresinde bu denetimin özelliklerini inceleyin. Bunların, buttonvalue adlı ek bir özellik olması dışında standart bir düğme tarafından sunulan özelliklerle aynı olduğunu unutmayın.

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

  6. Formunuza denetim Label eklemek için Araç Kutusu'nun Tüm Windows Forms sekmesinde Etiket'e çift tıklayın.

  7. Etiketi formun ortasına yeniden yerleşin.

  8. öğesine çift tıklayın valueButton1.

    Kod Düzenleyicisi etkinliğe valueButton1_Click açılır.

  9. Aşağıdaki kod satırını ekleyin.

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

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

    Form1 Görünür.

  12. valueButton1’a tıklayın.

    '5' rakamı içinde label1görüntülenir ve ButtonValue devralınan denetiminizin özelliğinin yöntemi aracılığıyla valueButton1_Click geçirildiğini label1 gösterir. Bu nedenle, denetiminiz ValueButton standart Windows Forms düğmesinin tüm işlevlerini devralır, ancak ek bir özel özelliği kullanıma sunar.

Ayrıca bkz.