Behavior Class
Represents the Behavior objects that are managed by a BehaviorService.
Namespace: System.Windows.Forms.Design.Behavior
Assembly: System.Design (in System.Design.dll)
The Behavior type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Behavior() | Initializes a new instance of the Behavior class. |
![]() | Behavior(Boolean, BehaviorService) | Initializes a new instance of the Behavior class with the given BehaviorService. |
| Name | Description | |
|---|---|---|
![]() | Cursor | Gets the cursor that should be displayed for this behavior. |
![]() | DisableAllCommands | Gets a value indicating whether MenuCommand objects should be disabled. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | FindCommand | Intercepts commands. |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | OnDragDrop | Permits custom drag-and-drop behavior. |
![]() | OnDragEnter | Permits custom drag-enter behavior. |
![]() | OnDragLeave | Permits custom drag-leave behavior. |
![]() | OnDragOver | Permits custom drag-over behavior. |
![]() | OnGiveFeedback | Permits custom drag-and-drop feedback behavior. |
![]() | OnLoseCapture | Called by the adorner window when it loses mouse capture. |
![]() | OnMouseDoubleClick | Called when any double-click message enters the adorner window of the BehaviorService. |
![]() | OnMouseDown | Called when any mouse-down message enters the adorner window of the BehaviorService. |
![]() | OnMouseEnter | Called when any mouse-enter message enters the adorner window of the BehaviorService. |
![]() | OnMouseHover | Called when any mouse-hover message enters the adorner window of the BehaviorService. |
![]() | OnMouseLeave | Called when any mouse-leave message enters the adorner window of the BehaviorService. |
![]() | OnMouseMove | Called when any mouse-move message enters the adorner window of the BehaviorService. |
![]() | OnMouseUp | Called when any mouse-up message enters the adorner window of the BehaviorService. |
![]() | OnQueryContinueDrag | Sends this drag-and-drop event from the adorner window to the appropriate Behavior or hit-tested Glyph. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
This class can be extended to develop any type of user interface behavior, including selection, drag, and resize behaviors.
For more information, see Behavior Service Overview.
Note |
|---|
Your Behavior type must be associated with a Glyph type. Glyph-independent behaviors are not supported. |
The following code example demonstrates how to create your own class based on the Behavior class that responds to user clicks. This code example is part of a larger example provided for the BehaviorService class.
class MyGlyph : Glyph { Control control; BehaviorService behaviorSvc; public MyGlyph(BehaviorService behaviorSvc, Control control) : base(new MyBehavior()) { this.behaviorSvc = behaviorSvc; this.control = control; } public override Rectangle Bounds { get { // Create a glyph that is 10x10 and sitting // in the middle of the control. Glyph coordinates // are in adorner window coordinates, so we must map // using the behavior service. Point edge = behaviorSvc.ControlToAdornerWindow(control); Size size = control.Size; Point center = new Point(edge.X + (size.Width / 2), edge.Y + (size.Height / 2)); Rectangle bounds = new Rectangle( center.X - 5, center.Y - 5, 10, 10); return bounds; } } public override Cursor GetHitTest(Point p) { // GetHitTest is called to see if the point is // within this glyph. This gives us a chance to decide // what cursor to show. Returning null from here means // the mouse pointer is not currently inside of the glyph. // Returning a valid cursor here indicates the pointer is // inside the glyph, and also enables our Behavior property // as the active behavior. if (Bounds.Contains(p)) { return Cursors.Hand; } return null; } public override void Paint(PaintEventArgs pe) { // Draw our glyph. It is simply a blue ellipse. pe.Graphics.FillEllipse(Brushes.Blue, Bounds); } // By providing our own behavior we can do something interesting // when the user clicks or manipulates our glyph. class MyBehavior : Behavior { public override bool OnMouseUp(Glyph g, MouseButtons button) { MessageBox.Show("Hey, you clicked the mouse here"); return true; // indicating we processed this event. } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
