MouseButton.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Input / MouseButton.cs / 1 / MouseButton.cs

                             
using System;
using MS.Internal.PresentationCore;

namespace System.Windows.Input 
{
    ///  
    ///     The MouseButton enumeration describes the buttons available on 
    ///     the mouse device.
    ///  
    /// 
    ///     You must update MouseButtonUtilities.Validate if any changes are made to this type
    /// 
    public enum MouseButton 
    {
 
        ///  
        ///    The left mouse button.
        ///  
        Left,

        /// 
        ///    The middle mouse button. 
        /// 
        Middle, 
 
        /// 
        ///    The right mouse button. 
        /// 
        Right,

        ///  
        ///    The fourth mouse button.
        ///  
        XButton1, 

        ///  
        ///    The fifth mouse button.
        /// 
        XButton2
    } 

    ///  
    ///     Utility class for MouseButton 
    /// 
    internal sealed class MouseButtonUtilities 
    {
        /// 
        ///     Private placeholder constructor
        ///  
        /// 
        ///     There is present to supress the autogeneration of a public one, which 
        ///     triggers an FxCop violation, as this is an internal class that is never instantiated 
        /// 
        private MouseButtonUtilities() 
        {
        }

        ///  
        ///     Ensures MouseButton is set to a valid value.
        ///  
        ///  
        ///     There is a proscription against using Enum.IsDefined().  (it is slow)
        ///     So we manually validate using a switch statement. 
        /// 
        [FriendAccessAllowed]
        internal static void Validate(MouseButton button)
        { 
            switch(button)
            { 
                case MouseButton.Left: 
                case MouseButton.Middle:
                case MouseButton.Right: 
                case MouseButton.XButton1:
                case MouseButton.XButton2:
                    break;
                default: 
                    throw new  System.ComponentModel.InvalidEnumArgumentException("button", (int)button, typeof(MouseButton));
            } 
        } 

    } 
}


// 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