IDesigner Arabirim

Tanım

Özel tasarımcı oluşturmaya yönelik temel çerçeveyi sağlar.

public interface class IDesigner : IDisposable
public interface IDesigner : IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
public interface IDesigner : IDisposable
type IDesigner = interface
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type IDesigner = interface
    interface IDisposable
Public Interface IDesigner
Implements IDisposable
Türetilmiş
Öznitelikler
Uygulamalar

Örnekler

Bu örnekte, bileşenine yerel başvuruyu depolayan, bileşene çift tıklandığında varsayılan bir eylem gerçekleştiren ve bir tasarımcı fiil menüsü komutu sağlayan bir uygulama gösterilmektedir IDesigner .

#using <System.Windows.Forms.dll>
#using <System.Data.dll>
#using <System.Drawing.dll>
#using <System.dll>

using namespace System;
using namespace System::Collections;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Drawing;
using namespace System::Data;
using namespace System::Windows::Forms;
using namespace System::Security::Permissions;

public ref class ExampleIDesigner: public System::ComponentModel::Design::IDesigner
{
private:

   // Local reference to the designer's component.
   IComponent^ component;

public:

   property System::ComponentModel::IComponent^ Component 
   {
      // Public accessor to the designer's component.
      virtual System::ComponentModel::IComponent^ get()
      {
         return component;
      }
   }
   ExampleIDesigner(){}

   virtual void Initialize( System::ComponentModel::IComponent^ component )
   {
      // This method is called after a designer for a component is created,
      // and stores a reference to the designer's component.
      this->component = component;
   }

   // This method peforms the 'default' action for the designer. The default action 
   // for a basic IDesigner implementation is invoked when the designer's component 
   // is double-clicked. By default, a component associated with a basic IDesigner 
   // implementation is displayed in the design-mode component tray.
   virtual void DoDefaultAction()
   {
      // Shows a message box indicating that the default action for the designer was invoked.
      MessageBox::Show( "The DoDefaultAction method of an IDesigner implementation was invoked.", "Information" );
   }

   property System::ComponentModel::Design::DesignerVerbCollection^ Verbs 
   {
      // Returns a collection of designer verb menu items to show in the 
      // shortcut menu for the designer's component.
      [PermissionSetAttribute(SecurityAction::Demand, Name="FullTrust")]
      virtual System::ComponentModel::Design::DesignerVerbCollection^ get()
      {
         DesignerVerbCollection^ verbs = gcnew DesignerVerbCollection;
         DesignerVerb^ dv1 = gcnew DesignerVerb( "Display Component Name",gcnew EventHandler( this, &ExampleIDesigner::ShowComponentName ) );
         verbs->Add( dv1 );
         return verbs;
      }
   }

private:

   // Event handler for displaying a message box showing the designer's component's name.
   void ShowComponentName( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      if ( this->Component != nullptr )
            MessageBox::Show( this->Component->Site->Name, "Designer Component's Name" );
   }

public:

   // Provides an opportunity to release resources before object destruction.
   ~ExampleIDesigner(){}

};

// A DesignerAttribute associates the example IDesigner with an example control.

[DesignerAttribute(ExampleIDesigner::typeid)]
public ref class TestControl: public System::Windows::Forms::UserControl
{
public:
   TestControl(){}

};
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Data;
using System.Windows.Forms;

namespace IDesignerExample
{	
    // A DesignerAttribute associates the example IDesigner with an example control.
    [DesignerAttribute(typeof(ExampleIDesigner))]
    public class TestControl : System.Windows.Forms.UserControl
    {				
        public TestControl()
        {	
        }
    }

    public class ExampleIDesigner : System.ComponentModel.Design.IDesigner
    {
        // Local reference to the designer's component.
        private IComponent component; 
        // Public accessor to the designer's component.
        public System.ComponentModel.IComponent Component
        {
            get
            {
                return component;
            }            
        }

        public ExampleIDesigner()
        {            
        }

        public void Initialize(System.ComponentModel.IComponent component)
        {
            // This method is called after a designer for a component is created,
            // and stores a reference to the designer's component.
            this.component = component;
        }        
        
        // This method peforms the 'default' action for the designer. The default action 
        // for a basic IDesigner implementation is invoked when the designer's component 
        // is double-clicked. By default, a component associated with a basic IDesigner 
        // implementation is displayed in the design-mode component tray.
        public void DoDefaultAction()
        {
            // Shows a message box indicating that the default action for the designer was invoked.
            MessageBox.Show("The DoDefaultAction method of an IDesigner implementation was invoked.", "Information");
        }

        // Returns a collection of designer verb menu items to show in the 
        // shortcut menu for the designer's component.
        public System.ComponentModel.Design.DesignerVerbCollection Verbs
        {
            get
            {
                DesignerVerbCollection verbs = new DesignerVerbCollection();
                DesignerVerb dv1 = new DesignerVerb("Display Component Name", new EventHandler(this.ShowComponentName));
                verbs.Add( dv1 );
                return verbs;
            }
        }

        // Event handler for displaying a message box showing the designer's component's name.
        private void ShowComponentName(object sender, EventArgs e)
        {
            if( this.Component != null )
                MessageBox.Show( this.Component.Site.Name, "Designer Component's Name" );
        }

        // Provides an opportunity to release resources before object destruction.
        public void Dispose()
        {        
        }
    }
}
Imports System.Collections
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Drawing
Imports System.Windows.Forms

' A DesignerAttribute associates the example IDesigner with an example control.
<DesignerAttribute(GetType(ExampleIDesigner))> _
Public Class TestControl
    Inherits System.Windows.Forms.UserControl

    Public Sub New()
    End Sub
End Class

<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Public Class ExampleIDesigner
    Implements System.ComponentModel.Design.IDesigner

    ' Local reference to the designer's component.
    Private _component As IComponent

    ' Public accessor to the designer's component.
    Public ReadOnly Property Component() As System.ComponentModel.IComponent Implements IDesigner.Component
        Get
            Return _component
        End Get
    End Property

    Public Sub New()
    End Sub

    Public Sub Initialize(ByVal component As System.ComponentModel.IComponent) Implements IDesigner.Initialize
        ' This method is called after a designer for a component is created,
        ' and stores a reference to the designer's component.
        Me._component = component
    End Sub

    ' This method peforms the 'default' action for the designer. The default action 
    ' for a basic IDesigner implementation is invoked when the designer's component 
    ' is double-clicked. By default, a component associated with a basic IDesigner 
    ' implementation is displayed in the design-mode component tray.
    Public Sub DoDefaultAction() Implements IDesigner.DoDefaultAction
        ' Shows a message box indicating that the default action for the designer was invoked.
        MessageBox.Show("The DoDefaultAction method of an IDesigner implementation was invoked.", "Information")
    End Sub

    ' Returns a collection of designer verb menu items to show in the 
    ' shortcut menu for the designer's component.
    Public ReadOnly Property Verbs() As System.ComponentModel.Design.DesignerVerbCollection Implements IDesigner.Verbs
        Get
            Dim verbs_ As New DesignerVerbCollection()
            Dim dv1 As New DesignerVerb("Display Component Name", New EventHandler(AddressOf Me.ShowComponentName))
            verbs_.Add(dv1)
            Return verbs_
        End Get
    End Property

    ' Event handler for displaying a message box showing the designer's component's name.
    Private Sub ShowComponentName(ByVal sender As Object, ByVal e As EventArgs)
        If (Me.Component IsNot Nothing) Then
            MessageBox.Show(Me.Component.Site.Name, "Designer Component's Name")
        End If
    End Sub

    ' Provides an opportunity to release resources before object destruction.
    Public Sub Dispose() Implements IDisposable.Dispose
    End Sub

End Class

Açıklamalar

arabirimi, IDesigner bir tasarımcı için temel hizmetleri uygulayabileceğiniz bir arabirim sağlar. Tasarımcı, tasarım zamanında bir bileşenin davranışını değiştirebilir ve kendi hizmetlerini ve davranışını sağlayabilir. Tasarımcı yalnızca tasarım zamanında etkindir ve tasarım zamanında ilişkili türün bir bileşeni DesignerAttribute oluşturulduğunda yüklenebilmesi için kullanılarak bir bileşen türüyle ilişkilendirilmesi gerekir.

Arabirim, IDesigner tasarım zamanında özel davranış sağlamak için uygulayabileceğiniz yöntemler ve özellikler sağlar.

Initialize Bir bileşen oluşturulduğunda eylem gerçekleştirmek için tasarımcının yöntemini uygulayın. Bir bileşenin tasarım zamanında özel bir yapılandırması olması veya yapılandırmasının tasarımcının belirleyebileceği koşullara bağlı olarak değişmesi gerekiyorsa bu yararlı olabilir.

Tasarımcı, bir kullanıcı tasarım zamanı ortamında bir bileşene veya denetime sağ tıkladığında görüntülenen kısayol menüsünde menü komutları sağlayabilir. menü komutları oluşturmak için nesneleri içeren DesignerVerb bir döndüren bir DesignerVerbCollection get erişimcisi tanımlamak için özelliğini uygulayabilirsinizVerbs.

Bileşen tepsisinde görünen bir bileşenin tasarımcısı, bileşene çift tıklandığında varsayılan bir eylem gerçekleştirebilir. Bileşene DoDefaultAction çift tıklandığında gerçekleştirilecek davranışı belirtmek için yöntemini uygulayın.

Tasarımcı, bileşenler ve özellikleri için geçerli tasarım zamanı ortamını araştırma, bileşenlerin özelliklerinin değerlerini okuma ve ayarlama, araç kutusunu yönetme, seçili bileşenleri yönetme veya değerleri yapılandırmak veya daha fazla işlem uygulamak için kullanılabilecek bir kullanıcı arabirimi görüntüleme gibi çeşitli görevleri gerçekleştirmek için kullanılabilir tasarım zamanı hizmetlerini de kullanabilir.

Formda sitelendirilebilen bir denetime tasarımcı uygulamak için sınıfından ControlDesigner devralabilirsiniz. İlişkili tasarımcısından ControlDesigner türetilmeyen denetimler bileşen tepsisinde görüntülenir. ComponentDesigner ve ControlDesigner sınıfları arabirimini IDesigner uygular ve tasarımcı yazarlarına kullanabilecek ek tasarım zamanı desteği sağlar. Daha fazla bilgi için bu sınıfların başvuru belgelerine bakın.

Tasarım bileşenleri oluşturmaya genel bakış için bkz. Design-Time Desteğini Genişletme.

Özellikler

Component

Bu tasarımcının tasarlıyor olduğu temel bileşeni alır.

Verbs

Tasarımcı tarafından desteklenen tasarım zamanı fiillerinin bir koleksiyonunu alır.

Yöntemler

Dispose()

Uygulama tarafından tanımlanan, yönetilmeyen kaynakları serbest bırakma, salma veya sıfırlama ile ilişkili görevleri gerçekleştirir.

(Devralındığı yer: IDisposable)
DoDefaultAction()

Bu tasarımcı için varsayılan eylemi gerçekleştirir.

Initialize(IComponent)

Tasarımcıyı belirtilen bileşenle başlatır.

Şunlara uygulanır

Ayrıca bkz.