Share via


Temel Tasarımcı Sınıfları

Tüm tasarımcılar uygulamak IDesigner temel Tasarımcı arabirim yöntemleri tanımlayan arabirim..net Framework bileşenleri ve denetimleri belirli tür destekler tasarımcıları için yararlı olabilecek yöntemler sağlayan temel Tasarımcı sınıflar kümesi de sağlar.

IDesigner arabirimi

Tasarımcı sınıfını uygulamalıdır IDesigner , aşağıdaki kod örneğinde gösterildiği gibi arabirim.

Public Interface IDesigner
   Sub Dispose()
   Sub Initialize(component As IComponent)
   ' Other methods.
   ...
   ReadOnly Property Component() As IComponent
   ' Other properties.
   ...
End Interface
public interface IDesigner {
   void Dispose();
   void Initialize(IComponent component);
   // Other methods.
   ...
   IComponent Component {
        get;
   }
   // Other properties.
   ...
}

Initialize Yöntemi bir IDesigner designer bileşeni sited ve başlatılan ve Tasarımcısı oluşturulan sonra çağrılır.Geçersiz kılmak Initialize bileşen ve tasarımcı başlatma saatte gerçekleşmesi gereken eylemleri gerçekleştirmek için yöntem.Bileşenin Oluşturucu başlatma değiştirilemiyor, ancak onu artırabilir ya da bu özelliklerini sıfırlama.Component Özelliği, bir IDesigner bu başlatma yöntemi aracılığıyla ayarlanır.Her zaman çağırmalıdır base.Initialize(component) karşı Initialize bu yöntemi geçersiz kılma yöntemi.Bileşeni erişebilir bir IDesigner karşı Component özelliği.

Component Özelliği designer ile ilişkili bileşen erişim sağlar.Tasarımcı nesne oluşturulduğunda bu özellik ayarlanır ve onun Initialize yöntemi çağrılır.Bileşen kendisiyle ilişkilendirilmiş bir site var ve tasarımcı bu site Hizmetleri tasarımcısının ana bilgisayardan elde etmek için kullanabilirsiniz.

DoDefaultAction Bir bileşeni veya denetimi tıklatıldığında yöntemi çağrılır.

Verbs Özelliği geçersiz dönmek için bir DesignerVerbCollection bir bileşen için bir kısayol menüsü menü öğeleri genişletmek gerekli nesneleri içerir.

Dispose Yöntemi çağrıldığında Tasarımcı nesne yok gerektiğinde.Her bir bileşen tasarım kapsayıcıdan kaldırılır denir.

Bileşenler için taban Tasarımcısı sınıf

ComponentDesigner Implements sınıfı IDesigner ve IDesignerFilter arabirimleri, bazı bileşenler tasarımcıları için yararlı olabilecek ek yöntemler sunar.

Windows Forms denetimleri için temel Tasarımcısı sınıf

Windows Forms denetimleri için tasarımcı temel sınıfı olan ControlDesigner.Bu sınıfın türetildiği ComponentDesigner ve Windows Forms denetiminin davranışını ve görünümünü özelleştirmek için ek yöntemler yararlı sağlar.Windows Forms designer'ın örnek uygulama için bkz: Nasıl yapılır: Bir Denetim için Tasarımcı Uygulama.

DocumentDesigner Sınıfı, kök düzeyinde tasarım modu görünümünü sağlayarak ve tasarım modu davranışını genişletme için temel bir tasarımcı sağlar bir Control iç içe denetimlerini destekler ve kaydırma iletilerini alır.Daha fazla bilgi için bkz. Nasıl yapılır: Tasarım Zamanı Özelliklerinden Faydalanan Windows Formları Denetimi Oluşturma.

[!NOT]

Tasarım zamanı derleme, System.Design.dll bir başvuru eklemeniz gerekir.Bu derleme dahil edilmez.net Framework 4 istemci profili.System.Design.dll için bir başvuru eklemek için projenin hedef çerçevesini değiştirmek .net Framework 4.

asp temel Tasarımcısı sınıfı.net sunucu denetimlerini

ASP temel Tasarımcı sınıf.net sunucu denetimlerini olan ControlDesigner.Bu sınıf, özel tasarım zamanı html işlenişi için temel işlevselliği sağlar.

Tasarım zamanı tümleştirme için temel sınıflar

TypeConverter Sınıfı, metin gösterimi gelen ve bir tür dönüştürmek için bir temel sınıf sağlar.Tür dönüştürücüleri hakkında daha fazla bilgi için bkz: Nasıl yapılır: Tür Dönüştürücü Uygulama veya Genelleşmiş Tür Dönüştürme.

UITypeEditor Sınıfı, bir temel sınıf öğesinden türetilmeli ve tasarım ortamı için bir özel tür Düzenleyici uygulamak için genişletmek sağlar.Uygulama konusunda daha fazla bilgi için bir UITypeEditor, bkz: Kullanıcı Arabirimi Tür Düzenleyicilerine Genel Bakış.

Tasarımcı görünümü ve davranışı için temel sınıflar

Behavior Sınıfı, kullanıcı arabirimi davranışı seçimi, sürükle, dahil olmak üzere, her türlü geliştirmek ve davranışları yeniden boyutlandırmak için Uzatılan.Boyama ve isabet sınaması tarafından gerçekleştirilen Glyph sınıfı.

Daha fazla bilgi için bkz. Davranış Hizmetine Genel Bakış.

[!NOT]

Tasarım zamanı derleme, System.Design.dll bir başvuru eklemeniz gerekir.Bu derleme dahil edilmez.net Framework 4 istemci profili.System.Design.dll için bir başvuru eklemek için projenin hedef çerçevesini değiştirmek .net Framework 4.

Temel sınıflar için Designer yükleyicileri

BasicDesignerLoader Sınıfı uygulaması sağlar IDesignerLoaderService arabirimi.A BasicDesignerLoader tam bir süreklilik biçimi ile ilgili herhangi bir şey olmadan bir Tasarımcı yükleyicisi uygulamasıdır.

CodeDomDesignerLoadertam Tasarımcı yükleyicisi sağlar soyut bir sınıf kodu belge nesne modeli (CodeDOM) üzerinde temel alır.

Temel sınıflar Designer seri hale getirme

CodeDomSerializerBase SAX için temel sınıf CodeDomSerializer sınıfları.CodeDomSerializerBase Sınıf arasında paylaşılan temel olarak kullanılan CodeDomSerializer ve TypeCodeDomSerializer sınıfları.

DesignerSerializationManager Sınıfı uygulaması sağlar IDesignerSerializationManager arabirimi.

Daha fazla bilgi için bkz. Tasarımcı Serileştirmeye Genel Bakış.

Akıllı etiketler için temel sınıf

DesignerActionList Sınıfı, bir akıllı etiket paneli oluşturmak için kullanılan maddelerin bir listesini tanımlamak türleri için temel sınıf sağlar.Daha fazla bilgi için bkz. Nasıl yapılır: Windows Formları Bileşenine Akıllı Etiket Ekleme.

[!NOT]

Tasarım zamanı derleme, System.Design.dll bir başvuru eklemeniz gerekir.Bu derleme dahil edilmez.net Framework 4 istemci profili.System.Design.dll için bir başvuru eklemek için projenin hedef çerçevesini değiştirmek .net Framework 4.

Özel düzen için temel sınıf

LayoutEngine Yerleşim altyapıları uygulamak için sınıf temel sınıfı sağlar.TableLayoutPanel Ve FlowLayoutPanel kullanımını denetleyen LayoutEngine sınıf düzeni davranışı sağlamak için.Daha fazla bilgi için bkz. Nasıl yapılır: Özel Yerleşim Altyapısı Uygulama.

Standart tasarımcıları

Windows Software Development Kit (SDK) Tasarımcıları bileşenleri belirli türleri desteklemek için bir dizi sağlar.Bu tasarımcılar, tasarım, word ile bileşenleri sonra adlı Tasarımcısı Design View'e son ekli.Örneğin, tasarımcı için Control sınıfı ControlDesigner.

Ortak Tasarımcısı işlevi

Tasarım zamanı Hizmetleri Tasarımcısı'ndan erişme

Çoğu tasarım zamanı hizmet türleri aracılığıyla istenen bir GetService yöntemi suretiyle istemek için hizmet türü.There is a GetService method on Component and ComponentDesigner.Ayrıca bir GetService yöntemi IServiceProvider, tarafından uygulanmış ISite tarafından döndürülen Site özelliği bir IComponent Tasarım modunda sited.

Nasıl elde edilir aşağıdaki kodda gösterildiği bir IDesignerHost hizmet arabirimi ve bir IMenuCommandService kullanarak bir GetService yöntemi.

Daha fazla bilgi için bkz. Nasıl yapılır: Tasarım Zamanı Hizmetlerine Erişim.

Aşağıdaki kod, tasarım modu hizmet sağlayıcısı arabirimi hizmet almak gösterilmiştir.

' Obtain an IDesignerHost service from the design-time environment.
Dim host As IDesignerHost = CType(Me.Component.Site.GetService(GetType(IDesignerHost)), IDesignerHost)
' Obtain an IMenuCommandService service.
Dim mcs As IMenuCommandService = CType(Me.Component.Site.GetService(GetType(IMenuCommandService)), IMenuCommandService)
// Obtain an IDesignerHost service from the design-time environment.
IDesignerHost host = (IDesignerHost)this.Component.Site.GetService(typeof(IDesignerHost));
// Obtain an IMenuCommandService service.
IMenuCommandService mcs = 
(IMenuCommandService)this.Component.Site.GetService(typeof(IMenuCommandService));

Proje bileşenleri Tasarımcısı'ndan erişme

Bir tasarımcı tasarım modu belge içinde bileşenlerine erişimi erişerek elde edebilirsiniz Components topluluğu Container özelliği, bir IDesignerHost hizmet arabirimi.Aşağıdaki kod örneği, Tasarım modunda geçerli projedeki bileşenlerine erişmesine izin gösterilmiştir.

' Obtains an IDesignerHost service from the design-time environment.
Dim host As IDesignerHost = CType(Me.Component.Site.GetService(GetType(IDesignerHost)), IDesignerHost)
' Gets the components container for the current design-time project.
Dim container As IContainer = host.Container
' The host.Container IContainer contains each IComponent in the project.
// Obtains an IDesignerHost service from the design-time environment.
IDesignerHost host = (IDesignerHost)this.Component.Site.GetService(typeof(IDesignerHost));
// Gets the components container for the current design-time project.
IContainer container = host.Container;
// The host.Container IContainer contains each IComponent in the project.

Access bileşenleri koleksiyonuna sahip olduktan sonra kullanabileceğiniz TypeDescriptor yöntemleri ve PropertyDescriptor nesnelerin türlerini belirlemek ve bileşenlerin özelliklerinin değerlerini ayarlayın.Ayrıca bileşenleri kullanarak oluşturabilirsiniz CreateComponent yöntemi, IDesignerHost arabirimi.

Bir tasarımcı'ı genişletme

İlişkili bir tasarımcı olan bileşen türetmek Tasarımcısı temel sınıfın türetilmiş bileşeniyle ilişkilendirilmiş olur.Uygulayarak farklı bir tasarımcı bileşeninizin ile ilişkilendirebileceğiniz bir DesignerAttribute bileşeni ile ilişkilendirmek için designer türünü belirtir özniteliği.Temel Tasarımcısı genişleten bir tasarımcı türetilmiş bir bileşeni için ortaktır.

Daha fazla bilgi için bkz. Nasıl yapılır: Bir Denetim için Tasarımcı Uygulama.

Bir tasarımcı genişletmek için

  1. Temel Tasarımcı sınıfından türeyen bir sınıfı tanımlar.

  2. Yeni bir tasarımcı sınıf uygulayarak bileşeninizin ile ilişkilendirmek bir DesignerAttribute.

Aşağıdaki kod örneği genişleten bir tasarımcı tanımlar LabelDesigner genişleten özel bir etiket ile ilişkilendirir ve Label.

Namespace MyControls.Design
   Public Class MyLabelDesigner
      Inherits System.Web.UI.Design.WebControls.LabelDesigner
   End Class
End Namespace
Namespace MyControls
   <Designer(GetType(MyControls.Design.MyLabelDesigner))> _
   Public Class MyLabel
      Inherits System.Web.UI.WebControls.Label
   End Class
End Namespace
namespace MyControls.Design {
    public class MyLabelDesigner : System.Web.UI.Design.WebControls.LabelDesigner {}
}
namespace MyControls {
[Designer(typeof(MyControls.Design.MyLabelDesigner))]
    public class MyLabel : System.Web.UI.WebControls.Label {}
}

[!NOT]

Korumalı bir sınıf için bir tasarımcı tanımlıyorsanız veya diğer sınıfları kullanabilir veya kendi Tasarımcısı'ndan devralan istemiyorsanız, tasarımcı sınıfınızın derlemenize iç yapabilirsiniz.Tasarımcı ana kendi Tasarımcısı örneğini oluşturamadı olmaya devam edecektir, ancak ortak nesne modeline katkıda değil.

Ayrıca bkz.

Görevler

Nasıl yapılır: Tasarım Zamanı Hizmetlerine Erişim

Nasıl yapılır: Tasarım Zamanı Desteğine Windows Formlarından Erişim

Kavramlar

Meta Veri Filtreleme

Tasarımcı Fiilleri

Nasıl yapılır: Bir Denetim için Tasarımcı Uygulama

Diğer Kaynaklar

Özel Tasarımcılar