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
Bu Visual Studio, yeni bir Windows Forms Denetim Kitaplığı projesi oluşturun ve ValueButtonLib olarak ad verin.
Proje adı,
ValueButtonLibvarsayı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şenlerValueButtonsağlarsa, kullanarakValueButtonbileşeninizi belirtebilirsiniz.ValueButtonLib.ValueButtonDaha fazla bilgi için bkz. Ad alanları.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.
Bu Çözüm GezginiValueButton.cs'ye sağ tıklayın ve Kodu Görüntüle'yi seçin.
deyim
classsatırı olanpublic 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.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.
yöntemini
InitializeComponentbulun ve özelliği atatan satırı AutoScaleMode kaldırın. Bu özellik denetimde Button yok.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
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.
deyimini
classbulun. '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ığı
ButtonValueve 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 özelgetvarValuesetdeğişkenin değerinivalueayarlar.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
Dosya menüsünde Ekle'nin üzerine gelin ve ardından Yeni Project'a tıklar ve Yeni Project iletişim kutusunu açın.
Visual C# Windows altındaki uygulama düğümünü seçin ve FormlarUygulaması'Windows tıklayın.
Ad kutusunaTestyazın.
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.
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.
Bu Çözüm Gezgini Test'e sağ tıklayın ve Derleme'yiseçin.
Denetiminizi forma eklemek için
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.
Araç Kutusunda ValueButtonLib Bileşenleri'ne tıklayın. ValueButton'a çift tıklayın.
Formda bir ValueButton görüntülenir.
ValueButton'a sağ tıklayın ve kısayol menüsünden Özellikler'i seçin.
Ö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.
ButtonValue özelliğini5 olarak ayarlayın.
Araç Kutusunun Tüm Windows Formlarsekmesinde,forma denetim eklemek için Etiket'e çift tıklayın.
Etiketi formun merkezine yeniden yer açın.
çift
valueButton1tıklayın.Kod Düzenleyicisi olayı açar.
Aşağıdaki kod satırına tıklayın.
label1.Text = valueButton1.ButtonValue.ToString();Bu Çözüm Gezgini,Test 'e sağ tıklayınve kısayol menüsünden Başlangıç Project Olarak Ayarla'yı seçin.
Hata Ayıklama menüsünden Hata Ayıklamayı Başlat'ı seçin.
Form1Görünür.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
label1ButtonValuegeçirildilabel1olduğunuvalueButton1_Clickbelirtir. Bu nedenleValueButtondenetiminiz, Standart Formlar düğmesinin Windows devralınır, ancak ek bir özel özelliği açığa çıkarır.