ToolboxSnapDragDropEventArgs.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / Behavior / ToolboxSnapDragDropEventArgs.cs / 1 / ToolboxSnapDragDropEventArgs.cs

                            namespace System.Windows.Forms.Design.Behavior { 
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.ComponentModel.Design; 
    using System.Design;
    using System.Diagnostics; 
    using System.Drawing; 
    using System.Windows.Forms.Design;
 
    /// 
    /// 
    ///     This class is created by the ToolboxItemSnapLineBehavior when the
    ///     user clicks, drags, and drops a control from the toolbox.  This class 
    ///     adds value to the standard DragEventArgs by holding information
    ///     about how the user snapped a control when it was dropped.  We'll 
    ///     use this information in ParentControlDesigner when this new control 
    ///     is created to properly position and size the new control.
    ///  
    internal sealed class ToolboxSnapDragDropEventArgs :  DragEventArgs {

        private SnapDirection   snapDirections;//direction in which the user's cursor was snapped
        private Point           offset;//offset from the cursor to our 'drag box' 

        ///  
        ///  
        ///     Constructor that is called when the user drops - here, we'll essentially
        ///     push the original drag event info down to the base class and store off 
        ///     our direction and offset.
        /// 
        public ToolboxSnapDragDropEventArgs(SnapDirection snapDirections, Point offset, DragEventArgs origArgs) :
                                      base (origArgs.Data, origArgs.KeyState, origArgs.X, origArgs.Y, origArgs.AllowedEffect, origArgs.Effect) { 
            this.snapDirections = snapDirections;
            this.offset = offset; 
        } 

        ///  
        /// 
        ///     This is the last direction that the user was snapped to directly before
        ///     the drop happened...
        ///  
        public SnapDirection SnapDirections {
            get { 
                return snapDirections; 
            }
        } 

        /// 
        /// 
        ///     The offset in pixel between the mouse cursor (at time of drop) and the 
        ///     'drag box' that is dancing around and snapping to other components.
        ///  
        public Point Offset { 
            get {
                return offset; 
            }
        }

        ///  
        /// 
        ///     Flag enum used to define the different directions a 'drag box' could be 
        ///     snapped to. 
        /// 
        [Flags] 
        public enum SnapDirection {
            None = 0x00,
            Top = 0x01,
            Bottom = 0x02, 
            Right = 0x04,
            Left = 0x08 
        } 

    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK