Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Input / MouseButton.cs / 1305600 / 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. 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
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSchemaObjectCollection.cs
- MobileControlDesigner.cs
- DataGridViewColumnCollectionDialog.cs
- TextBoxDesigner.cs
- Size.cs
- AvTrace.cs
- TraceContextRecord.cs
- StickyNote.cs
- DbDataSourceEnumerator.cs
- CounterCreationDataCollection.cs
- Int16AnimationBase.cs
- OracleDataReader.cs
- ToolboxItemCollection.cs
- OleDbInfoMessageEvent.cs
- CodeSnippetExpression.cs
- XsdDataContractImporter.cs
- XmlArrayAttribute.cs
- GuidConverter.cs
- GenerateHelper.cs
- Workspace.cs
- WebServiceData.cs
- Config.cs
- keycontainerpermission.cs
- CodeCatchClauseCollection.cs
- XPathAncestorQuery.cs
- Button.cs
- StylusPlugin.cs
- XPathNavigator.cs
- UnmanagedMarshal.cs
- ComboBoxAutomationPeer.cs
- HtmlInputControl.cs
- OdbcError.cs
- QueryContinueDragEvent.cs
- TextBoxBase.cs
- PerfCounterSection.cs
- BrushConverter.cs
- InertiaRotationBehavior.cs
- XmlComplianceUtil.cs
- Classification.cs
- UnsafeNativeMethods.cs
- TreeNodeCollection.cs
- RegularExpressionValidator.cs
- ScriptRegistrationManager.cs
- TakeQueryOptionExpression.cs
- QilFunction.cs
- recordstatescratchpad.cs
- UnSafeCharBuffer.cs
- MetadataUtilsSmi.cs
- DeclarativeCatalogPart.cs
- SignedInfo.cs
- BuildManager.cs
- BreakRecordTable.cs
- ContainerVisual.cs
- TabControlToolboxItem.cs
- CornerRadius.cs
- DropAnimation.xaml.cs
- control.ime.cs
- clipboard.cs
- RelatedPropertyManager.cs
- WrapPanel.cs
- GlobalizationAssembly.cs
- FileDocument.cs
- ComponentSerializationService.cs
- ViewStateChangedEventArgs.cs
- LineInfo.cs
- LicenseException.cs
- SafeProcessHandle.cs
- FacetValueContainer.cs
- TemplateBindingExpression.cs
- CustomCredentialPolicy.cs
- SHA256Managed.cs
- FileUtil.cs
- OneOfConst.cs
- LifetimeServices.cs
- Int64.cs
- RandomNumberGenerator.cs
- HighContrastHelper.cs
- IntPtr.cs
- ExecutionEngineException.cs
- ResourceDescriptionAttribute.cs
- CipherData.cs
- BackgroundWorker.cs
- RegexWorker.cs
- SoapException.cs
- ShapeTypeface.cs
- OutputCacheSettings.cs
- SecureStringHasher.cs
- ValidatorUtils.cs
- HtmlEncodedRawTextWriter.cs
- IndexingContentUnit.cs
- SchemaMapping.cs
- PropertyPathWorker.cs
- Overlapped.cs
- XmlCharCheckingWriter.cs
- WebControlParameterProxy.cs
- StylusPointDescription.cs
- NeutralResourcesLanguageAttribute.cs
- PackWebRequest.cs
- VectorCollection.cs
- ADConnectionHelper.cs