Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veyadizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows Forms ile yeni denetimler oluşturabilir veya devralma yoluyla mevcut denetimleri değiştirebilirsiniz. Bu makalede, yeni denetim oluşturma yolları arasındaki farklar vurgulanır ve projeniz için belirli bir denetim türünü seçme hakkında bilgi sağlanır.
Temel denetim sınıfı
Control sınıfı, Windows Forms denetimleri için temel sınıftır. Windows Forms uygulamalarında görsel görüntüleme için gereken altyapıyı sağlar ve aşağıdaki özellikleri sağlar:
- Pencere tutamacını açığa çıkarır.
- İleti yönlendirmeyi yönetir.
- Fare ve klavye olayları ve diğer birçok kullanıcı arabirimi olayı sağlar.
- Gelişmiş düzen özellikleri sağlar.
- ForeColor, BackColor, Heightve Widthgibi görsel görüntülemeye özgü birçok özellik içerir.
Altyapının çoğu temel sınıf tarafından sağlandığından, kendi Windows Forms denetimlerinizi geliştirmek nispeten kolaydır.
Kendi denetiminizi oluşturma
Oluşturabileceğiniz üç tür özel denetim vardır: kullanıcı denetimleri, genişletilmiş denetimler ve özel denetimler. Aşağıdaki tablo, hangi denetim türünü oluşturmanız gerektiğine karar vermenize yardımcı olur:
| Eğer... | Bir şey oluştur... |
|---|---|
|
System.Windows.Forms.UserControl'den devralarak bir kullanıcı denetimi tasarlar. |
|
Belirli bir Windows Forms denetiminden devralarak denetimi genişletme. |
|
System.Windows.Forms.Control'den devralarak özel bir denetim oluşturun. |
Kullanıcı denetimleri
Kullanıcı denetimi, tüketiciye tek denetim olarak sunulan bir Windows Forms denetimleri koleksiyonudur. Bu denetim türü,
Kullanıcı denetimi, kapsanan Windows Forms denetimlerinin her biriyle ilişkili tüm doğal işlevleri barındırarak özelliklerini seçmeli olarak kullanıma sunmanızı ve bağlamanızı sağlar. Kullanıcı denetimi, sizin için fazladan geliştirme çabası olmadan çok sayıda varsayılan klavye işleme işlevi de sağlar.
Örneğin, bir kullanıcı denetimi bir veritabanındaki müşteri adresi verilerini görüntülemek için oluşturulabilir. Bu denetim, veritabanı alanlarını görüntülemek için bir DataGridView denetimi, veri kaynağına bağlamayı işlemek için bir BindingSource ve kayıtlarda gezinmek için bir BindingNavigator denetimi içerir. Veri bağlama özelliklerini seçmeli olarak kullanıma açabilir ve denetimin tamamını uygulamadan uygulamaya paketleyip yeniden kullanabilirsiniz. Bu tür bir kullanıcı denetimi örneği için bkz. Nasıl yapılır: Windows Forms Denetimlerinde Öznitelik Uygulama.
Daha fazla bilgi için bkz . Kullanıcı denetimine genel bakış.
Genişletilmiş denetimler
Var olan herhangi bir Windows Forms denetiminden devralınan bir denetim türetebilirsiniz. Bu yaklaşımla, bir Windows Forms denetiminin tüm doğal işlevlerini koruyabilir ve ardından özel özellikler, yöntemler veya diğer özellikler ekleyerek bu işlevselliği genişletebilirsiniz. Bu seçenekle, temel denetimin boya mantığını geçersiz kılabilir ve ardından görünümünü değiştirerek kullanıcı arabirimini genişletebilirsiniz.
Örneğin, bir kullanıcının kaç kez tıkladığını izleyen Button denetiminden türetilmiş bir denetim oluşturabilirsiniz.
Bazı denetimlerde, temel sınıfın OnPaint yöntemini geçersiz kılarak denetiminizin grafik kullanıcı arabirimine özel bir görünüm de ekleyebilirsiniz. Tıklamaları izleyen genişletilmiş bir düğme için, OnPainttemel uygulamasını çağırmak için OnPaint yöntemini geçersiz kılabilir ve ardından Button denetiminin istemci alanının bir köşesine tıklama sayısını çizebilirsiniz.
Denetimi genişletme örneği için bkz. Var olan denetimi genişletme.
Özel denetimler
Denetim oluşturmanın bir diğer yolu da Control'den devralarak en baştan önemli ölçüde bir denetim oluşturmaktır. Control sınıfı, fare ve klavye işleme olayları dahil olmak üzere denetimler için gereken tüm temel işlevleri sağlar, ancak denetime özgü işlevsellik veya grafik arabirim sağlamaz.
sınıfından Control devralarak bir denetim oluşturmak, veya mevcut bir Windows Forms denetiminden UserControl devralmaktan daha fazla düşünme ve çaba gerektirir. Size çok fazla uygulama bırakılabildiğinden, denetiminiz bileşik veya genişletilmiş denetimden daha fazla esnekliğe sahip olabilir ve denetiminizi tam gereksinimlerinize uyacak şekilde uyarlayabilirsiniz.
Özel denetim uygulamak için, denetimin OnPaint görsel olarak nasıl çizildiği denetlenen denetimin yöntemi için kod yazmanız gerekir. Ayrıca, denetiminiz için özelliğe özgü davranışlar da yazmanız gerekir. Ayrıca WndProc yöntemini geçersiz kılabilir ve windows iletilerini doğrudan işleyebilirsiniz. Bu, denetim oluşturmanın en güçlü yoludur, ancak bu tekniği etkili bir şekilde kullanmak için Microsoft Win32 API'sini tanımanız gerekir.
Özel denetime örnek olarak, analog saatin görünümünü ve davranışını çoğaltan bir saat denetimi gösteriliyor. Özel boyama, saatin kollarının bir iç Tick bileşenden gelen olaylara yanıt olarak hareket etmesini sağlamak için Timer çağrılır.
Daha fazla bilgi için bkz. Basit bir özel denetim oluşturma.
ActiveX denetimleri
Windows Forms altyapısı, Windows Forms denetimlerini barındıracak şekilde iyileştirilmiş olsa da, ActiveX denetimlerini kullanmaya devam edebilirsiniz. Visual Studio'da bu görev için destek sağlanır. Daha fazla bilgi için bkz . Nasıl yapılır: Windows Forms'a ActiveX Denetimleri Ekleme.
Uyarı
ActiveX denetimleri .NET üzerinde tam olarak desteklenmez. ActiveX denetimleri .NET Framework'te tam olarak desteklenmeye devam eder.
Özel tasarım deneyimi
Özel bir tasarım ortamı deneyimi uygulamanız gerekiyorsa, kendi tasarım aracınızı oluşturabilirsiniz. Bileşik denetimler için özel tasarımcı sınıfınızı ParentControlDesigner veya DocumentDesigner sınıflarından türetin. Genişletilmiş ve özel denetimler için özel tasarımcı sınıfınızı ControlDesigner sınıfından türetin.
Denetiminizi tasarımcınızla ilişkilendirmek için DesignerAttribute kullanın.
Aşağıdaki bilgiler güncel değildir ancak size yardımcı olabilir.
.NET Desktop feedback