ControlDesigner Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erweitert das Entwurfsmodusverhalten eines Control.
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
- Vererbung
- Abgeleitet
Beispiele
Die folgende Beispielimplementierung ControlDesigner veranschaulicht die Behandlung MouseEnter
und MouseLeave
Ereignisse, das Zeichnen auf einem Steuerelement aus dem Designercode und die Verwendung eines Teils der IDesignerFilter Schnittstelle, um zur Entwurfszeit eine Eigenschaft für das Steuerelement hinzuzufügen. Der folgende Beispielcode enthält einen Designer und ein Beispielbenutzersteuerelement, das dem Designer zugeordnet ist. Um dieses Beispiel zu erstellen, kompilieren Sie das Beispiel in eine Klassenbibliothek, fügen Sie einem Windows Forms-Projekt einen Verweis auf die Bibliothek hinzu, fügen Sie das Steuerelement der Toolbox hinzu, und fügen Sie dem Formular eine Instanz des Steuerelements hinzu. Wenn Sie auf das Steuerelement zeigen, wird der innere Umriss des Umfangs des Steuerelements hervorgehoben, und die Farbe, die zum Zeichnen der Kontur verwendet wird, entspricht der OutlineColor
Eigenschaft, die der Designer den für das Steuerelement aufgeführten Eigenschaften hinzugefügt hat.
Fügen Sie einen Verweis auf die System.Design assembly hinzu, um das Codebeispiel zu kompilieren.
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
Hinweise
ControlDesigner stellt eine Basisklasse für Designer von Komponenten bereit, die von abgeleitet werden Control. Zusätzlich zu den Methoden und Funktionen, die von der ComponentDesigner -Klasse geerbt werden, stellt zusätzliche Methoden bereit, ControlDesigner um das Erweitern und Ändern des Verhaltens eines zugeordneten Control zur Entwurfszeit zu unterstützen.
Sie können einen Designer mit DesignerAttributeeinem -Typ zuordnen. Eine Übersicht über das Anpassen des Entwurfszeitverhaltens finden Sie unter Erweitern Design-Time Support.
Konstruktoren
ControlDesigner() |
Initialisiert eine neue Instanz der ControlDesigner-Klasse. |
Felder
accessibilityObj |
Gibt das Objekt für die Barrierefreiheit für den Designer an. |
InvalidPoint |
Definiert einen lokalen Point, der die Werte eines ungültigen Point darstellt. |
Eigenschaften
AccessibilityObject |
Ruft das dem Steuerelement zugewiesene AccessibleObject ab. |
ActionLists |
Ruft die Entwurfszeit-Aktionslisten ab, die von der dem Designer zugeordneten Komponente unterstützt werden. (Geerbt von ComponentDesigner) |
AssociatedComponents |
Ruft die Auflistung der Komponenten ab, die der durch den Designer verwalteten Komponente zugeordnet ist. |
AutoResizeHandles |
Ruft einen Wert ab oder oder legt einen Wert fest, der angibt, ob die Vergrößerungspunktreservierung vom Wert der AutoSize-Eigenschaft abhängt. |
BehaviorService |
Ruft den BehaviorService von der Entwurfsumgebung ab. |
Component |
Ruft die Komponente ab, die von diesem Designer entworfen wird. (Geerbt von ComponentDesigner) |
Control |
Ruft das Steuerelement ab, das vom Designer entworfen wird. |
EnableDragRect |
Ruft einen Wert ab, der angibt, ob in dieser Designerkomponente Ziehrechtecke gezeichnet werden können. |
InheritanceAttribute |
Ruft das InheritanceAttribute für den Designer ab. |
InheritanceAttribute |
Ruft ein Attribut ab, das den Vererbungstyp der zugeordneten Komponente angibt. (Geerbt von ComponentDesigner) |
Inherited |
Ruft einen Wert ab, der angibt, ob diese Komponente geerbt wurde. (Geerbt von ComponentDesigner) |
ParentComponent |
Ruft die übergeordnete Komponente für den ControlDesigner ab. |
ParentComponent |
Ruft die übergeordnete Komponente für diesen Designer ab. (Geerbt von ComponentDesigner) |
ParticipatesWithSnapLines |
Ruft einen Wert ab, der angibt, ob der ControlDesigner während eines Ziehvorgangs die Ausrichtung von Ausrichtungslinien ermöglicht. |
SelectionRules |
Ruft die Auswahlregeln ab, die die Bewegungsfunktionen einer Komponente angeben. |
SetTextualDefaultProperty |
Erweitert das Entwurfsmodusverhalten eines Control. (Geerbt von ComponentDesigner) |
ShadowProperties |
Ruft eine Auflistung von Eigenschaftswerten ab, die Benutzereinstellungen überschreiben. (Geerbt von ComponentDesigner) |
SnapLines |
Ruft eine Liste mit SnapLine-Objekten ab, die signifikante Ausrichtungspunkte für dieses Steuerelement darstellen. |
Verbs |
Ruft die Entwurfszeitverben ab, die von der dem Designer zugeordneten Komponente unterstützt werden. (Geerbt von ComponentDesigner) |
Methoden
BaseWndProc(Message) |
Verarbeitet Windows-Meldungen. |
CanBeParentedTo(IDesigner) |
Gibt an, ob das Steuerelement dieses Designers dem Steuerelement des angegebenen Designers untergeordnet sein kann. |
DefWndProc(Message) |
Stellt Standardverarbeitung für Windows-Meldungen bereit. |
DisplayError(Exception) |
Zeigt dem Benutzer Informationen über die angegebene Ausnahme an. |
Dispose() |
Gibt alle vom ComponentDesigner verwendeten Ressourcen frei. (Geerbt von ComponentDesigner) |
Dispose(Boolean) |
Gibt die von ControlDesigner verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei. |
DoDefaultAction() |
Erstellt eine Methodensignatur in der Quellcodedatei für das Standardereignis der Komponente und verschiebt den Cursor des Benutzers an diese Position. (Geerbt von ComponentDesigner) |
EnableDesignMode(Control, String) |
Aktiviert die Entwurfszeitfunktionen für ein untergeordnetes Steuerelement. |
EnableDragDrop(Boolean) |
Aktiviert oder deaktiviert die Drag & Drop-Unterstützung für das Steuerelement, das entworfen wird. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetControlGlyph(GlyphSelectionType) |
Gibt ein ControlBodyGlyph zurück, das die Begrenzungen dieses Steuerelements darstellt. |
GetGlyphs(GlyphSelectionType) |
Ruft eine Auflistung von Glyph-Objekt ab, die die Markierungsrahmen und Ziehpunkte für ein Standardsteuerelement darstellen. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetHitTest(Point) |
Gibt an, ob ein Mausklick auf den angegebenen Punkt von dem Steuerelement behandelt werden soll. |
GetService(Type) |
Versucht, den angegebenen Diensttyp von der Entwurfsmodussite der Komponente des Designers abzurufen. (Geerbt von ComponentDesigner) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
HookChildControls(Control) |
Leitet Meldungen von den untergeordneten Steuerelementen des angegebenen Steuerelements an den Designer weiter. |
Initialize(IComponent) |
Initialisiert den Designer mit der angegebenen Komponente. |
InitializeExistingComponent(IDictionary) |
Initialisiert eine vorhandene Komponente erneut. |
InitializeExistingComponent(IDictionary) |
Initialisiert eine vorhandene Komponente erneut. (Geerbt von ComponentDesigner) |
InitializeNewComponent(IDictionary) |
Initialisiert eine neu erstellte Komponente. |
InitializeNewComponent(IDictionary) |
Initialisiert eine neu erstellte Komponente. (Geerbt von ComponentDesigner) |
InitializeNonDefault() |
Initialisiert die Eigenschaften des Steuerelements auf einen beliebigen nicht standardmäßigen Wert. |
InitializeNonDefault() |
Veraltet.
Veraltet.
Initialisiert die Einstellungen für eine importierte Komponente, die bereits mit Einstellungen initialisiert wurde, die nicht der Standardeinstellung entsprechen. (Geerbt von ComponentDesigner) |
InternalControlDesigner(Int32) |
Gibt den internen Steuerelement-Designer mit dem angegebenen Index im ControlDesigner zurück. |
InvokeGetInheritanceAttribute(ComponentDesigner) |
Ruft das InheritanceAttribute des angegebenen ComponentDesigner ab. (Geerbt von ComponentDesigner) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
NumberOfInternalControlDesigners() |
Gibt die Anzahl von internen Steuerelement-Designern im ControlDesigner zurück. |
OnContextMenu(Int32, Int32) |
Zeigt das Kontextmenü an und ermöglicht das Ausführen weiterer Verarbeitungsschritte, während das Kontextmenü gerade angezeigt wird. |
OnCreateHandle() |
Ermöglicht das Ausführen weiterer Schritte direkt nach dem Erstellen des Steuerelementhandles. |
OnDragComplete(DragEventArgs) |
Empfängt einen Aufruf, um einen Drag & Drop-Vorgang zu bereinigen. |
OnDragDrop(DragEventArgs) |
Empfängt einen Aufruf, wenn ein Drag & Drop-Objekt auf der Ansicht des Steuerelement-Designers abgelegt wird. |
OnDragEnter(DragEventArgs) |
Empfängt einen Aufruf, wenn ein Drag & Drop-Vorgang in der Ansicht des Steuerelement-Designers eintritt. |
OnDragLeave(EventArgs) |
Empfängt einen Aufruf, wenn ein Drag & Drop-Vorgang die Ansicht des Steuerelement-Designers verlässt. |
OnDragOver(DragEventArgs) |
Empfängt einen Aufruf, wenn ein Drag & Drop-Objekt über die Ansicht des Steuerelement-Designers gezogen wird. |
OnGiveFeedback(GiveFeedbackEventArgs) |
Empfängt einen Aufruf, wenn ein Drag & Drop-Vorgang ausgeführt wird, um visuelle Hinweise bereitzustellen, die auf der Position des Mauszeigers basieren, während ein Ziehvorgang ausgeführt wird. |
OnMouseDragBegin(Int32, Int32) |
Empfängt als Reaktion auf das Drücken und Halten der linken Maustaste einen Aufruf, während sich der Mauszeiger über der Komponente befindet. |
OnMouseDragEnd(Boolean) |
Empfängt einen Aufruf am Ende eines Drag & Drop-Vorgangs, um diesen abzuschließen oder abzubrechen. |
OnMouseDragMove(Int32, Int32) |
Empfängt einen Aufruf für jede Bewegung der Maus während eines Drag & Drop-Vorgangs. |
OnMouseEnter() |
Empfängt einen Aufruf, wenn der Mauszeiger zum ersten Mal in den Bereich des Steuerelements eintritt. |
OnMouseHover() |
Empfängt einen Aufruf, nachdem mit dem Mauszeiger auf das Steuerelement gezeigt wurde. |
OnMouseLeave() |
Empfängt einen Aufruf, wenn der Mauszeiger zum ersten Mal in den Bereich des Steuerelements eintritt. |
OnPaintAdornments(PaintEventArgs) |
Empfängt einen Aufruf, wenn die Oberfläche des vom Designer verwalteten Steuerelements gezeichnet ist, sodass der Designer die Darstellung des Steuerelements bearbeiten kann. |
OnSetComponentDefaults() |
Veraltet.
Veraltet.
Wird beim Initialisieren des Designers aufgerufen. |
OnSetCursor() |
Empfängt jedes Mal einen Aufruf, wenn der Cursor festgelegt werden muss. |
PostFilterAttributes(IDictionary) |
Ermöglicht einem Designer das Ändern oder Entfernen von Elementen aus dem Satz von Attributen, der über einen TypeDescriptor verfügbar gemacht wird. (Geerbt von ComponentDesigner) |
PostFilterEvents(IDictionary) |
Ermöglicht einem Designer das Ändern oder Entfernen von Elementen aus dem Satz von Ereignissen, der über einen TypeDescriptor verfügbar gemacht wird. (Geerbt von ComponentDesigner) |
PostFilterProperties(IDictionary) |
Ermöglicht einem Designer das Ändern oder Entfernen von Elementen aus dem Satz von Eigenschaften, der über einen TypeDescriptor verfügbar gemacht wird. (Geerbt von ComponentDesigner) |
PreFilterAttributes(IDictionary) |
Ermöglicht einem Designer das Hinzufügen zu dem Satz von Attributen, der über einen TypeDescriptor verfügbar gemacht wird. (Geerbt von ComponentDesigner) |
PreFilterEvents(IDictionary) |
Ermöglicht einem Designer ein Hinzufügen zu dem Satz von Ereignissen, der durch einen TypeDescriptor verfügbar gemacht wird. (Geerbt von ComponentDesigner) |
PreFilterProperties(IDictionary) |
Passt die Gruppe von Eigenschaften an, die die Komponente mithilfe eines TypeDescriptor verfügbar macht. |
RaiseComponentChanged(MemberDescriptor, Object, Object) |
Benachrichtigt IComponentChangeService darüber, dass diese Komponente geändert wurde. (Geerbt von ComponentDesigner) |
RaiseComponentChanging(MemberDescriptor) |
Benachrichtigt IComponentChangeService darüber, dass diese Komponente gerade geändert wird. (Geerbt von ComponentDesigner) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
UnhookChildControls(Control) |
Leitet Meldungen für die untergeordneten Elemente des angegebenen Steuerelements an jedes Steuerelement und nicht an einen übergeordneten Designer weiter. |
WndProc(Message) |
Verarbeitet Windows-Meldungen und leitet diese optional an das Steuerelement weiter. |