ComponentDesigner Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memperluas perilaku mode desain komponen.
public ref class ComponentDesigner : IDisposable, System::ComponentModel::Design::IDesigner, System::ComponentModel::Design::IDesignerFilter
public ref class ComponentDesigner : IDisposable, System::ComponentModel::Design::IComponentInitializer, System::ComponentModel::Design::IDesignerFilter, System::ComponentModel::Design::ITreeDesigner
public class ComponentDesigner : IDisposable, System.ComponentModel.Design.IDesigner, System.ComponentModel.Design.IDesignerFilter
public class ComponentDesigner : IDisposable, System.ComponentModel.Design.IComponentInitializer, System.ComponentModel.Design.IDesignerFilter, System.ComponentModel.Design.ITreeDesigner
type ComponentDesigner = class
interface IDesigner
interface IDisposable
interface IDesignerFilter
type ComponentDesigner = class
interface ITreeDesigner
interface IDesigner
interface IDisposable
interface IDesignerFilter
interface IComponentInitializer
Public Class ComponentDesigner
Implements IDesigner, IDesignerFilter, IDisposable
Public Class ComponentDesigner
Implements IComponentInitializer, IDesignerFilter, IDisposable, ITreeDesigner
- Warisan
-
ComponentDesigner
- Turunan
- Penerapan
Contoh
Contoh kode berikut memberikan contoh ComponentDesigner implementasi dan komponen contoh yang terkait dengan perancang. Perancang mengimplementasikan penimpaan Initialize metode yang memanggil metode dasar Initialize
, penimpaan DoDefaultAction metode yang menampilkan MessageBox ketika komponen diklik dua kali, dan penimpaan Verbs pengakses properti yang menyediakan perintah menu kustom DesignerVerb ke menu pintasan untuk komponen.
#using <System.dll>
#using <System.Design.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
using namespace System;
using namespace System::Collections;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Drawing;
using namespace System::Windows::Forms;
// Provides an example component designer.
ref class ExampleComponentDesigner: public ComponentDesigner
{
public:
ExampleComponentDesigner()
{
}
// This method provides an opportunity to perform processing when a designer is initialized.
// The component parameter is the component that the designer is associated with.
virtual void Initialize( IComponent^ component ) override
{
// Always call the base Initialize method in an of this method.
ComponentDesigner::Initialize( component );
}
// This method is invoked when the associated component is double-clicked.
virtual void DoDefaultAction() override
{
MessageBox::Show( "The event handler for the default action was invoked." );
}
// This method provides designer verbs.
property DesignerVerbCollection^ Verbs
{
virtual DesignerVerbCollection^ get() override
{
array<DesignerVerb^>^ newDesignerVerbs = {gcnew DesignerVerb( "Example Designer Verb Command", gcnew EventHandler( this, &ExampleComponentDesigner::onVerb ) )};
return gcnew DesignerVerbCollection( newDesignerVerbs );
}
}
private:
// Event handling method for the example designer verb
void onVerb( Object^ sender, EventArgs^ e )
{
MessageBox::Show( "The event handler for the Example Designer Verb Command was invoked." );
}
};
// Provides an example component associated with the example component designer.
[DesignerAttribute(ExampleComponentDesigner::typeid, IDesigner::typeid)]
ref class ExampleComponent: public Component
{
public:
ExampleComponent(){}
};
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Windows.Forms;
namespace ExampleComponent
{
// Provides an example component designer.
public class ExampleComponentDesigner : System.ComponentModel.Design.ComponentDesigner
{
public ExampleComponentDesigner()
{
}
// This method provides an opportunity to perform processing when a designer is initialized.
// The component parameter is the component that the designer is associated with.
public override void Initialize(System.ComponentModel.IComponent component)
{
// Always call the base Initialize method in an override of this method.
base.Initialize(component);
}
// This method is invoked when the associated component is double-clicked.
public override void DoDefaultAction()
{
MessageBox.Show("The event handler for the default action was invoked.");
}
// This method provides designer verbs.
public override System.ComponentModel.Design.DesignerVerbCollection Verbs
{
get
{
return new DesignerVerbCollection( new DesignerVerb[] { new DesignerVerb("Example Designer Verb Command", new EventHandler(this.onVerb)) } );
}
}
// Event handling method for the example designer verb
private void onVerb(object sender, EventArgs e)
{
MessageBox.Show("The event handler for the Example Designer Verb Command was invoked.");
}
}
// Provides an example component associated with the example component designer.
[DesignerAttribute(typeof(ExampleComponentDesigner), typeof(IDesigner))]
public class ExampleComponent : System.ComponentModel.Component
{
public ExampleComponent()
{
}
}
}
Imports System.Collections
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Drawing
Imports System.Windows.Forms
Namespace ExampleComponent
' Provides an example component designer.
Public Class ExampleComponentDesigner
Inherits System.ComponentModel.Design.ComponentDesigner
Public Sub New()
End Sub
' This method provides an opportunity to perform processing when a designer is initialized.
' The component parameter is the component that the designer is associated with.
Public Overrides Sub Initialize(ByVal component As System.ComponentModel.IComponent)
' Always call the base Initialize method in an override of this method.
MyBase.Initialize(component)
End Sub
' This method is invoked when the associated component is double-clicked.
Public Overrides Sub DoDefaultAction()
MessageBox.Show("The event handler for the default action was invoked.")
End Sub
' This method provides designer verbs.
Public Overrides ReadOnly Property Verbs() As System.ComponentModel.Design.DesignerVerbCollection
Get
Return New DesignerVerbCollection(New DesignerVerb() {New DesignerVerb("Example Designer Verb Command", New EventHandler(AddressOf Me.onVerb))})
End Get
End Property
' Event handling method for the example designer verb
Private Sub onVerb(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("The event handler for the Example Designer Verb Command was invoked.")
End Sub
End Class
' Provides an example component associated with the example component designer.
<DesignerAttribute(GetType(ExampleComponentDesigner), GetType(IDesigner))> _
Public Class ExampleComponent
Inherits System.ComponentModel.Component
Public Sub New()
End Sub
End Class
End Namespace 'ExampleComponent
Keterangan
Kelas ComponentDesigner perancang dasar menyediakan desainer sederhana yang dapat memperluas perilaku komponen terkait dalam mode desain.
ComponentDesigner menyediakan implementasi antarmuka kosong IDesignerFilter , yang metodenya dapat ditimpa untuk menyesuaikan atribut, properti, dan peristiwa komponen terkait pada waktu desain.
Anda dapat mengaitkan perancang dengan jenis menggunakan DesignerAttribute. Untuk gambaran umum menyesuaikan perilaku waktu desain, lihat Memperluas Dukungan Design-Time.
Kelas ComponentDesigner mengimplementasikan perilaku khusus untuk deskriptor properti komponen yang diwariskan. Jenis internal bernama InheritedPropertyDescriptor
digunakan oleh implementasi default ComponentDesigner untuk berdiri di properti yang diwarisi dari kelas dasar. Ada dua kasus di mana deskriptor properti ini ditambahkan.
Ke objek akar itu sendiri, yang dikembalikan oleh IDesignerHost.RootComponent properti , karena Anda mewarisi dari kelas dasarnya.
Ke bidang yang ditemukan di kelas dasar objek akar. Bidang publik dan terlindungi dari kelas dasar ditambahkan ke perancang sehingga dapat dimanipulasi oleh pengguna.
Kelas InheritedPropertyDescriptor
memodifikasi nilai default properti, sehingga nilai default adalah nilai saat ini pada instantiation objek. Ini karena properti diwarisi dari instans lain. Perancang menentukan pengaturan ulang nilai properti saat mengaturnya ke nilai yang ditetapkan oleh kelas yang diwariskan. Nilai ini mungkin berbeda dari nilai default yang disimpan dalam metadata.
Konstruktor
ComponentDesigner() |
Menginisialisasi instans baru kelas ComponentDesigner. |
Properti
ActionLists |
Mendapatkan daftar tindakan waktu desain yang didukung oleh komponen yang terkait dengan perancang. |
AssociatedComponents |
Mendapatkan koleksi komponen yang terkait dengan komponen yang dikelola oleh perancang. |
Component |
Mendapatkan komponen yang didesain desainer ini. |
InheritanceAttribute |
Mendapatkan atribut yang menunjukkan jenis pewarisan komponen terkait. |
Inherited |
Mendapatkan nilai yang menunjukkan apakah komponen ini diwariskan. |
ParentComponent |
Mendapatkan komponen induk untuk perancang ini. |
SetTextualDefaultProperty |
Memperluas perilaku mode desain komponen. |
ShadowProperties |
Mendapatkan kumpulan nilai properti yang mengambil alih pengaturan pengguna. |
Verbs |
Mendapatkan kata kerja waktu desain yang didukung oleh komponen yang terkait dengan perancang. |
Metode
Dispose() |
Merilis semua sumber daya yang ComponentDesignerdigunakan oleh . |
Dispose(Boolean) |
Merilis sumber daya tidak terkelola yang digunakan oleh ComponentDesigner dan secara opsional merilis sumber daya terkelola. |
DoDefaultAction() |
Membuat tanda tangan metode dalam file kode sumber untuk peristiwa default pada komponen dan menavigasi kursor pengguna ke lokasi tersebut. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
Finalize() |
Mencoba membebaskan sumber daya dengan memanggil |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetService(Type) |
Upaya untuk mengambil jenis layanan yang ditentukan dari situs mode desain komponen perancang. |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
Initialize(IComponent) |
Menyiapkan perancang untuk melihat, mengedit, dan merancang komponen yang ditentukan. |
InitializeExistingComponent(IDictionary) |
Menginisialisasi ulang komponen yang ada. |
InitializeNewComponent(IDictionary) |
Menginisialisasi komponen yang baru dibuat. |
InitializeNonDefault() |
Kedaluwarsa.
Kedaluwarsa.
Menginisialisasi pengaturan untuk komponen impor yang sudah diinisialisasi ke pengaturan selain default. |
InvokeGetInheritanceAttribute(ComponentDesigner) |
InheritanceAttribute Mendapatkan dari yang ditentukanComponentDesigner. |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
OnSetComponentDefaults() |
Kedaluwarsa.
Kedaluwarsa.
Mengatur properti default untuk komponen. |
PostFilterAttributes(IDictionary) |
Memungkinkan perancang untuk mengubah atau menghapus item dari sekumpulan atribut yang diekspos melalui TypeDescriptor. |
PostFilterEvents(IDictionary) |
Memungkinkan perancang untuk mengubah atau menghapus item dari serangkaian peristiwa yang diekspos melalui TypeDescriptor. |
PostFilterProperties(IDictionary) |
Memungkinkan perancang untuk mengubah atau menghapus item dari sekumpulan properti yang diekspos melalui TypeDescriptor. |
PreFilterAttributes(IDictionary) |
Memungkinkan perancang untuk menambahkan ke sekumpulan atribut yang diekspos melalui TypeDescriptor. |
PreFilterEvents(IDictionary) |
Memungkinkan perancang untuk menambahkan ke serangkaian peristiwa yang diekspos melalui TypeDescriptor. |
PreFilterProperties(IDictionary) |
Memungkinkan perancang untuk menambahkan ke sekumpulan properti yang diekspos melalui TypeDescriptor. |
RaiseComponentChanged(MemberDescriptor, Object, Object) |
Memberi tahu IComponentChangeService bahwa komponen ini telah diubah. |
RaiseComponentChanging(MemberDescriptor) |
Memberi tahu IComponentChangeService bahwa komponen ini akan diubah. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
IDesignerFilter.PostFilterAttributes(IDictionary) |
Untuk deskripsi anggota ini, lihat PostFilterAttributes(IDictionary) metode . |
IDesignerFilter.PostFilterEvents(IDictionary) |
Untuk deskripsi anggota ini, lihat PostFilterEvents(IDictionary) metode . |
IDesignerFilter.PostFilterProperties(IDictionary) |
Untuk deskripsi anggota ini, lihat PostFilterProperties(IDictionary) metode . |
IDesignerFilter.PreFilterAttributes(IDictionary) |
Untuk deskripsi anggota ini, lihat PreFilterAttributes(IDictionary) metode . |
IDesignerFilter.PreFilterEvents(IDictionary) |
Untuk deskripsi anggota ini, lihat PreFilterEvents(IDictionary) metode . |
IDesignerFilter.PreFilterProperties(IDictionary) |
Untuk deskripsi anggota ini, lihat PreFilterProperties(IDictionary) metode . |
ITreeDesigner.Children |
Untuk deskripsi anggota ini, lihat Children properti . |
ITreeDesigner.Parent |
Untuk deskripsi anggota ini, lihat Parent properti . |