ControlDesigner Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
bir Controlöğesinin tasarım modu davranışını genişletir.
public ref class ControlDesigner : System::ComponentModel::Design::ComponentDesigner
public class ControlDesigner : System.ComponentModel.Design.ComponentDesigner
type ControlDesigner = class
inherit ComponentDesigner
Public Class ControlDesigner
Inherits ComponentDesigner
- Devralma
- Türetilmiş
Örnekler
Aşağıdaki örnek ControlDesigner uygulama, işleme MouseEnter
ve MouseLeave
olayları, tasarımcı kodundan bir denetime çizim oluşturmayı ve tasarım zamanında denetim için bir özellik eklemek üzere arabirimin bir kısmını IDesignerFilter kullanmayı gösterir. Aşağıdaki örnek kod, tasarımcıyla ilişkilendirilmiş bir tasarımcı ve örnek kullanıcı denetimi içerir. Bu örneği derlemek için örneği bir sınıf kitaplığında derleyin, Windows Forms projesine kitaplığa başvuru ekleyin, denetimi Araç Kutusu'na ekleyin ve formunuza denetimin bir örneğini ekleyin. Denetime işaret ettiğinizde, denetimin çevresinin iç ana hattı vurgulanır ve ana hattı çizmek için kullanılan renk, tasarımcının OutlineColor
denetim için listelenen özelliklere eklediği özelliğe karşılık gelir.
Kod örneğini derlemek için System.Design derlemesine bir başvuru ekleyin.
using namespace System;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Collections;
using namespace System::Drawing;
using namespace System::Windows::Forms;
using namespace System::Windows::Forms::Design;
using namespace System::Security::Permissions;
public ref class TestControlDesigner: public System::Windows::Forms::Design::ControlDesigner
{
private:
bool mouseover;
Color lineColor;
public:
property Color OutlineColor
{
Color get()
{
return lineColor;
}
void set( Color value )
{
lineColor = value;
}
}
TestControlDesigner()
{
mouseover = false;
lineColor = Color::White;
}
protected:
virtual void OnMouseEnter() override
{
this->mouseover = true;
this->Control->Refresh();
}
virtual void OnMouseLeave() override
{
this->mouseover = false;
this->Control->Refresh();
}
virtual void OnPaintAdornments( System::Windows::Forms::PaintEventArgs^ pe ) override
{
if ( this->mouseover )
pe->Graphics->DrawRectangle( gcnew Pen( gcnew SolidBrush( this->lineColor ),6 ), 0, 0, this->Control->Size.Width, this->Control->Size.Height );
}
protected:
[ReflectionPermission(SecurityAction::Demand, Flags=ReflectionPermissionFlag::MemberAccess)]
virtual void PreFilterProperties( System::Collections::IDictionary^ properties ) override
{
properties->Add( "OutlineColor", TypeDescriptor::CreateProperty( TestControlDesigner::typeid, "OutlineColor", System::Drawing::Color::typeid, nullptr ) );
}
};
[DesignerAttribute(TestControlDesigner::typeid)]
public ref class TestControl: public System::Windows::Forms::UserControl
{
private:
System::ComponentModel::Container^ components;
public:
TestControl()
{
components = gcnew System::ComponentModel::Container;
}
protected:
~TestControl()
{
if ( components != nullptr )
{
delete components;
}
}
};
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Collections;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.Design;
namespace ControlDesignerExample
{
// ExampleControlDesigner is an example control designer that
// demonstrates basic functions of a ControlDesigner.
public class ExampleControlDesigner : System.Windows.Forms.Design.ControlDesigner
{
// This Boolean state reflects whether the mouse is over the control.
private bool mouseover = false;
// This color is a private field for the OutlineColor property.
private Color lineColor = Color.White;
// This color is used to outline the control when the mouse is
// over the control.
public Color OutlineColor
{
get
{
return lineColor;
}
set
{
lineColor = value;
}
}
public ExampleControlDesigner()
{
}
// Sets a value and refreshes the control's display when the
// mouse position enters the area of the control.
protected override void OnMouseEnter()
{
this.mouseover = true;
this.Control.Refresh();
}
// Sets a value and refreshes the control's display when the
// mouse position enters the area of the control.
protected override void OnMouseLeave()
{
this.mouseover = false;
this.Control.Refresh();
}
// Draws an outline around the control when the mouse is
// over the control.
protected override void OnPaintAdornments(System.Windows.Forms.PaintEventArgs pe)
{
if (this.mouseover)
{
pe.Graphics.DrawRectangle(
new Pen(new SolidBrush(this.lineColor), 6),
0,
0,
this.Control.Size.Width,
this.Control.Size.Height);
}
}
// Adds a property to this designer's control at design time
// that indicates the outline color to use.
// The DesignOnlyAttribute ensures that the OutlineColor
// property is not serialized by the designer.
protected override void PreFilterProperties(System.Collections.IDictionary properties)
{
PropertyDescriptor pd = TypeDescriptor.CreateProperty(
typeof(ExampleControlDesigner),
"OutlineColor",
typeof(System.Drawing.Color),
new Attribute[] { new DesignOnlyAttribute(true) });
properties.Add("OutlineColor", pd);
}
}
// This example control demonstrates the ExampleControlDesigner.
[DesignerAttribute(typeof(ExampleControlDesigner))]
public class ExampleControl : System.Windows.Forms.UserControl
{
private System.ComponentModel.Container components = null;
public ExampleControl()
{
components = new System.ComponentModel.Container();
}
protected override void Dispose( bool disposing )
{
if( disposing )
{
if( components != null )
components.Dispose();
}
base.Dispose( disposing );
}
}
}
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Collections
Imports System.Drawing
Imports System.Windows.Forms
Imports System.Windows.Forms.Design
Namespace ControlDesignerExample
_
' ExampleControlDesigner is an example control designer that
' demonstrates basic functions of a ControlDesigner.
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Public Class ExampleControlDesigner
Inherits System.Windows.Forms.Design.ControlDesigner
' This boolean state reflects whether the mouse is over the control.
Private mouseover As Boolean = False
' This color is a private field for the OutlineColor property.
Private lineColor As Color = Color.White
' This color is used to outline the control when the mouse is
' over the control.
Public Property OutlineColor() As Color
Get
Return lineColor
End Get
Set(ByVal Value As Color)
lineColor = Value
End Set
End Property
Public Sub New()
End Sub
' Sets a value and refreshes the control's display when the
' mouse position enters the area of the control.
Protected Overrides Sub OnMouseEnter()
Me.mouseover = True
Me.Control.Refresh()
End Sub
' Sets a value and refreshes the control's display when the
' mouse position enters the area of the control.
Protected Overrides Sub OnMouseLeave()
Me.mouseover = False
Me.Control.Refresh()
End Sub
' Draws an outline around the control when the mouse is
' over the control.
Protected Overrides Sub OnPaintAdornments(ByVal pe As System.Windows.Forms.PaintEventArgs)
If Me.mouseover Then
pe.Graphics.DrawRectangle(New Pen(New SolidBrush(Me.lineColor), 6), 0, 0, Me.Control.Size.Width, Me.Control.Size.Height)
End If
End Sub
' Adds a property to this designer's control at design time
' that indicates the outline color to use.
' The DesignOnlyAttribute ensures that the OutlineColor
' property is not serialized by the designer.
Protected Overrides Sub PreFilterProperties(ByVal properties As System.Collections.IDictionary)
Dim pd As PropertyDescriptor = TypeDescriptor.CreateProperty( _
GetType(ExampleControlDesigner), _
"OutlineColor", _
GetType(System.Drawing.Color), _
New Attribute() {New DesignOnlyAttribute(True)})
properties.Add("OutlineColor", pd)
End Sub
End Class
' This example control demonstrates the ExampleControlDesigner.
<DesignerAttribute(GetType(ExampleControlDesigner))> _
Public Class ExampleControl
Inherits System.Windows.Forms.UserControl
Private components As System.ComponentModel.Container = Nothing
Public Sub New()
components = New System.ComponentModel.Container()
End Sub
Protected Overloads Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If (components IsNot Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
End Class
End Namespace
Açıklamalar
ControlDesigner , öğesinden Controltüretilen bileşenlerin tasarımcıları için bir temel sınıf sağlar. sınıfından devralınan ComponentDesigner yöntemlere ve işlevlere ek olarak, ControlDesigner tasarım zamanında ilişkili Control bir öğesinin davranışını genişletmeyi ve değiştirmeyi desteklemek için ek yöntemler sağlar.
kullanarak DesignerAttributebir tasarımcıyı bir türle ilişkilendirebilirsiniz. Tasarım zamanı davranışını özelleştirmeye genel bakış için bkz. Design-Time Desteğini Genişletme.
Oluşturucular
ControlDesigner() |
ControlDesigner sınıfının yeni bir örneğini başlatır. |
Alanlar
accessibilityObj |
Tasarımcının erişilebilirlik nesnesini belirtir. |
InvalidPoint |
Geçersiz Pointbir değerinin değerlerini temsil eden bir yerel Point öğesini tanımlar. |
Özellikler
AccessibilityObject |
Denetime AccessibleObject atananı alır. |
ActionLists |
Tasarımcıyla ilişkilendirilmiş bileşen tarafından desteklenen tasarım zamanı eylem listelerini alır. (Devralındığı yer: ComponentDesigner) |
AssociatedComponents |
Tasarımcı tarafından yönetilen bileşenle ilişkili bileşen koleksiyonunu alır. |
AutoResizeHandles |
Yeniden boyutlandırma tutamacı ayırmasının özelliğin değerine bağlı olup olmadığını belirten bir değer AutoSize alır veya ayarlar. |
BehaviorService |
BehaviorService öğesini tasarım ortamından alır. |
Component |
Bu tasarımcının tasarlıyor olduğu bileşeni alır. (Devralındığı yer: ComponentDesigner) |
Control |
Tasarımcının tasarlıyor olduğu denetimi alır. |
EnableDragRect |
Sürüklenen dikdörtgenlerin bu tasarımcı bileşenine çizilip çizilemeyeceğini gösteren bir değer alır. |
InheritanceAttribute |
Tasarımcının InheritanceAttribute öğesini alır. |
InheritanceAttribute |
İlişkili bileşenin devralma türünü gösteren bir öznitelik alır. (Devralındığı yer: ComponentDesigner) |
Inherited |
Bu bileşenin devralınıp devralınmadığını belirten bir değer alır. (Devralındığı yer: ComponentDesigner) |
ParentComponent |
için ControlDesignerüst bileşeni alır. |
ParentComponent |
Bu tasarımcının üst bileşenini alır. (Devralındığı yer: ComponentDesigner) |
ParticipatesWithSnapLines |
öğesinin bir sürükleme işlemi sırasında ek çizgi hizalamasına ControlDesigner izin verip vermeyeceğini belirten bir değer alır. |
SelectionRules |
Bir bileşenin hareket özelliklerini gösteren seçim kurallarını alır. |
SetTextualDefaultProperty |
bir Controlöğesinin tasarım modu davranışını genişletir. (Devralındığı yer: ComponentDesigner) |
ShadowProperties |
Kullanıcı ayarlarını geçersiz kılan özellik değerleri koleksiyonunu alır. (Devralındığı yer: ComponentDesigner) |
SnapLines |
Bu denetim için önemli hizalama noktalarını temsil eden nesnelerin listesini SnapLine alır. |
Verbs |
Tasarımcıyla ilişkili bileşen tarafından desteklenen tasarım zamanı fiillerini alır. (Devralındığı yer: ComponentDesigner) |
Yöntemler
BaseWndProc(Message) |
Windows iletilerini işler. |
CanBeParentedTo(IDesigner) |
Bu tasarımcının denetiminin belirtilen tasarımcının denetimi tarafından üst öğe oluşturulabileceğini gösterir. |
DefWndProc(Message) |
Windows iletileri için varsayılan işleme sağlar. |
DisplayError(Exception) |
Kullanıcı için belirtilen özel durumla ilgili bilgileri görüntüler. |
Dispose() |
ComponentDesigner tarafından kullanılan tüm kaynakları serbest bırakır. (Devralındığı yer: ComponentDesigner) |
Dispose(Boolean) |
ControlDesigner tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır. |
DoDefaultAction() |
Bileşendeki varsayılan olay için kaynak kod dosyasında bir yöntem imzası oluşturur ve kullanıcının imlecini bu konuma gider. (Devralındığı yer: ComponentDesigner) |
EnableDesignMode(Control, String) |
Alt denetim için tasarım zamanı işlevselliğini etkinleştirir. |
EnableDragDrop(Boolean) |
Tasarlanan denetim için sürükle ve bırak desteğini etkinleştirir veya devre dışı bırakır. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetControlGlyph(GlyphSelectionType) |
Bu denetimin sınırlarını temsil eden bir ControlBodyGlyph döndürür. |
GetGlyphs(GlyphSelectionType) |
Seçim kenarlıklarını temsil eden bir nesne koleksiyonunu Glyph alır ve standart denetim için tutamaçları alır. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetHitTest(Point) |
Belirtilen noktada fare tıklamasının denetim tarafından işlenip işlenmeyeceğini gösterir. |
GetService(Type) |
Tasarımcının bileşeninin tasarım modu sitesinden belirtilen hizmet türünü almaya çalışır. (Devralındığı yer: ComponentDesigner) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
HookChildControls(Control) |
Belirtilen denetimin alt denetimlerinden gelen iletileri tasarımcıya yönlendirir. |
Initialize(IComponent) |
Tasarımcıyı belirtilen bileşenle başlatır. |
InitializeExistingComponent(IDictionary) |
Mevcut bir bileşeni yeniden başlatır. |
InitializeExistingComponent(IDictionary) |
Mevcut bir bileşeni yeniden başlatıyor. (Devralındığı yer: ComponentDesigner) |
InitializeNewComponent(IDictionary) |
Yeni oluşturulan bir bileşeni başlatır. |
InitializeNewComponent(IDictionary) |
Yeni oluşturulan bir bileşeni başlatır. (Devralındığı yer: ComponentDesigner) |
InitializeNonDefault() |
Denetimin özelliklerini varsayılan olmayan değerlere başlatır. |
InitializeNonDefault() |
Geçersiz.
Geçersiz.
Varsayılanlar dışındaki ayarlara zaten başlatılmış olan içeri aktarılan bir bileşenin ayarlarını başlatır. (Devralındığı yer: ComponentDesigner) |
InternalControlDesigner(Int32) |
içinde belirtilen dizine sahip iç denetim tasarımcısını ControlDesignerdöndürür. |
InvokeGetInheritanceAttribute(ComponentDesigner) |
InheritanceAttribute Belirtilen ComponentDesigneröğesinin değerini alır. (Devralındığı yer: ComponentDesigner) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
NumberOfInternalControlDesigners() |
içindeki ControlDesigneriç denetim tasarımcılarının sayısını döndürür. |
OnContextMenu(Int32, Int32) |
Bağlam menüsünü gösterir ve bağlam menüsü görüntülenmek üzereyken ek işlem gerçekleştirme fırsatı sağlar. |
OnCreateHandle() |
Denetim tutamacı oluşturulduktan hemen sonra ek işleme gerçekleştirme fırsatı sağlar. |
OnDragComplete(DragEventArgs) |
Sürükle ve bırak işlemini temizlemek için bir çağrı alır. |
OnDragDrop(DragEventArgs) |
Sürükle ve bırak nesnesi denetim tasarımcısı görünümüne bırakıldığında bir çağrı alır. |
OnDragEnter(DragEventArgs) |
Sürükle ve bırak işlemi denetim tasarımcısı görünümüne girdiğinde bir çağrı alır. |
OnDragLeave(EventArgs) |
Sürükle ve bırak işlemi denetim tasarımcısı görünümünden ayrıldığında bir çağrı alır. |
OnDragOver(DragEventArgs) |
Sürükle ve bırak nesnesi denetim tasarımcısı görünümünün üzerine sürüklendiğinde bir çağrı alır. |
OnGiveFeedback(GiveFeedbackEventArgs) |
Sürükle ve bırak işlemi devam ederken farenin konumuna göre görsel ipuçları sağlamak için sürükle ve bırak işlemi devam ederken bir çağrı alır. |
OnMouseDragBegin(Int32, Int32) |
Bileşenin üzerindeyken basılan ve tutulan sol fare düğmesine yanıt olarak bir çağrı alır. |
OnMouseDragEnd(Boolean) |
İşlemi tamamlamak veya iptal etmek için sürükle ve bırak işleminin sonunda bir çağrı alır. |
OnMouseDragMove(Int32, Int32) |
Sürükle ve bırak işlemi sırasında farenin her hareketi için bir çağrı alır. |
OnMouseEnter() |
Fare denetime ilk girdiğinde bir çağrı alır. |
OnMouseHover() |
Fare denetimin üzerine getirildikten sonra bir çağrı alır. |
OnMouseLeave() |
Fare denetime ilk girdiğinde bir çağrı alır. |
OnPaintAdornments(PaintEventArgs) |
Tasarımcının yönettiği denetim yüzeyini boyadığında bir çağrı alır, böylece tasarımcı denetimin üzerine ek kenarlıklar çizebilir. |
OnSetComponentDefaults() |
Geçersiz.
Geçersiz.
Tasarımcı başlatıldığında çağrılır. |
OnSetCursor() |
İmlecin her ayarlanması gerektiğinde bir çağrı alır. |
PostFilterAttributes(IDictionary) |
Tasarımcının aracılığıyla TypeDescriptorkullanıma verdiği öznitelik kümesindeki öğeleri değiştirmesine veya kaldırmasına izin verir. (Devralındığı yer: ComponentDesigner) |
PostFilterEvents(IDictionary) |
Tasarımcının aracılığıyla TypeDescriptorkullanıma verdiği olay kümesindeki öğeleri değiştirmesine veya kaldırmasına izin verir. (Devralındığı yer: ComponentDesigner) |
PostFilterProperties(IDictionary) |
Tasarımcının aracılığıyla kullanıma verdiği TypeDescriptorözellik kümesindeki öğeleri değiştirmesine veya kaldırmasına izin verir. (Devralındığı yer: ComponentDesigner) |
PreFilterAttributes(IDictionary) |
Tasarımcının aracılığıyla kullanıma verdiği TypeDescriptoröznitelik kümesine eklemesine izin verir. (Devralındığı yer: ComponentDesigner) |
PreFilterEvents(IDictionary) |
Tasarımcının aracılığıyla TypeDescriptorkullanıma verdiği olay kümesine eklemesine izin verir. (Devralındığı yer: ComponentDesigner) |
PreFilterProperties(IDictionary) |
Bileşenin aracılığıyla TypeDescriptorkullanıma sunan özellik kümesini ayarlar. |
RaiseComponentChanged(MemberDescriptor, Object, Object) |
Bu bileşenin IComponentChangeService değiştirildiğini bildirir. (Devralındığı yer: ComponentDesigner) |
RaiseComponentChanging(MemberDescriptor) |
Bu bileşenin IComponentChangeService değiştirilmek üzere olduğunu bildirir. (Devralındığı yer: ComponentDesigner) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
UnhookChildControls(Control) |
Belirtilen denetimin alt öğelerine yönelik iletileri üst tasarımcı yerine her denetime yönlendirir. |
WndProc(Message) |
Windows iletilerini işler ve isteğe bağlı olarak bunları denetime yönlendirir. |