Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / WinForms / Managed / System / WinForms / KeyEvent.cs / 1 / KeyEvent.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Windows.Forms { using System.Diagnostics; using System; using System.Drawing; using System.ComponentModel; using Microsoft.Win32; using System.Diagnostics.CodeAnalysis; ////// /// [System.Runtime.InteropServices.ComVisible(true)] public class KeyEventArgs : EventArgs { ////// Provides data for the ///or /// event. /// /// /// Contains key data for KeyDown and KeyUp events. This is a combination /// of keycode and modifer flags. /// private readonly Keys keyData; ////// /// Determines if this event has been handled by a handler. If handled, the /// key event will not be sent along to Windows. If not handled, the event /// will be sent to Windows for default processing. /// private bool handled = false; ////// /// private bool suppressKeyPress = false; ////// /// public KeyEventArgs(Keys keyData) { this.keyData = keyData; } ////// Initializes a new /// instance of the ///class. /// /// /// public virtual bool Alt { get { return (keyData & Keys.Alt) == Keys.Alt; } } ////// Gets a value indicating whether the ALT key was pressed. /// ////// /// public bool Control { get { return (keyData & Keys.Control) == Keys.Control; } } ////// Gets a value indicating whether the CTRL key was pressed. /// ////// /// // public bool Handled { get { return handled; } set { handled = value; } } ////// Gets or sets a value /// indicating whether the event was handled. /// ////// /// //subhag : changed the behaviour of the KeyCode as per the new requirements. public Keys KeyCode { [ // Keys is discontiguous so we have to use Enum.IsDefined. SuppressMessage("Microsoft.Performance", "CA1803:AvoidCostlyCallsWherePossible") ] get { Keys keyGenerated = keyData & Keys.KeyCode; // since Keys can be discontiguous, keeping Enum.IsDefined. if (!Enum.IsDefined(typeof(Keys),(int)keyGenerated)) return Keys.None; else return keyGenerated; } } ////// Gets the keyboard code for a ///or /// event. /// /// /// //subhag : added the KeyValue as per the new requirements. public int KeyValue { get { return (int)(keyData & Keys.KeyCode); } } ////// Gets the keyboard value for a ///or /// event. /// /// /// public Keys KeyData { get { return keyData; } } ////// Gets the key data for a ///or /// event. /// /// /// public Keys Modifiers { get { return keyData & Keys.Modifiers; } } ////// Gets the modifier flags for a ///or event. /// This indicates which modifier keys (CTRL, SHIFT, and/or ALT) were pressed. /// /// /// public virtual bool Shift { get { return (keyData & Keys.Shift) == Keys.Shift; } } ////// Gets /// a value indicating whether the SHIFT key was pressed. /// ////// /// // public bool SuppressKeyPress { get { return suppressKeyPress; } set { suppressKeyPress = value; handled = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Windows.Forms { using System.Diagnostics; using System; using System.Drawing; using System.ComponentModel; using Microsoft.Win32; using System.Diagnostics.CodeAnalysis; ////// /// [System.Runtime.InteropServices.ComVisible(true)] public class KeyEventArgs : EventArgs { ////// Provides data for the ///or /// event. /// /// /// Contains key data for KeyDown and KeyUp events. This is a combination /// of keycode and modifer flags. /// private readonly Keys keyData; ////// /// Determines if this event has been handled by a handler. If handled, the /// key event will not be sent along to Windows. If not handled, the event /// will be sent to Windows for default processing. /// private bool handled = false; ////// /// private bool suppressKeyPress = false; ////// /// public KeyEventArgs(Keys keyData) { this.keyData = keyData; } ////// Initializes a new /// instance of the ///class. /// /// /// public virtual bool Alt { get { return (keyData & Keys.Alt) == Keys.Alt; } } ////// Gets a value indicating whether the ALT key was pressed. /// ////// /// public bool Control { get { return (keyData & Keys.Control) == Keys.Control; } } ////// Gets a value indicating whether the CTRL key was pressed. /// ////// /// // public bool Handled { get { return handled; } set { handled = value; } } ////// Gets or sets a value /// indicating whether the event was handled. /// ////// /// //subhag : changed the behaviour of the KeyCode as per the new requirements. public Keys KeyCode { [ // Keys is discontiguous so we have to use Enum.IsDefined. SuppressMessage("Microsoft.Performance", "CA1803:AvoidCostlyCallsWherePossible") ] get { Keys keyGenerated = keyData & Keys.KeyCode; // since Keys can be discontiguous, keeping Enum.IsDefined. if (!Enum.IsDefined(typeof(Keys),(int)keyGenerated)) return Keys.None; else return keyGenerated; } } ////// Gets the keyboard code for a ///or /// event. /// /// /// //subhag : added the KeyValue as per the new requirements. public int KeyValue { get { return (int)(keyData & Keys.KeyCode); } } ////// Gets the keyboard value for a ///or /// event. /// /// /// public Keys KeyData { get { return keyData; } } ////// Gets the key data for a ///or /// event. /// /// /// public Keys Modifiers { get { return keyData & Keys.Modifiers; } } ////// Gets the modifier flags for a ///or event. /// This indicates which modifier keys (CTRL, SHIFT, and/or ALT) were pressed. /// /// /// public virtual bool Shift { get { return (keyData & Keys.Shift) == Keys.Shift; } } ////// Gets /// a value indicating whether the SHIFT key was pressed. /// ////// /// // public bool SuppressKeyPress { get { return suppressKeyPress; } set { suppressKeyPress = value; handled = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SetStoryboardSpeedRatio.cs
- PartitionedStreamMerger.cs
- BinaryReader.cs
- CommonProperties.cs
- DesignOnlyAttribute.cs
- RowsCopiedEventArgs.cs
- SafeViewOfFileHandle.cs
- TableColumn.cs
- SuppressIldasmAttribute.cs
- TrustManagerPromptUI.cs
- Focus.cs
- PointConverter.cs
- XmlNamespaceManager.cs
- ExecutionEngineException.cs
- RelationshipConstraintValidator.cs
- GPPOINT.cs
- DuplicateWaitObjectException.cs
- PrintPreviewDialog.cs
- TrackingServices.cs
- CellPartitioner.cs
- FatalException.cs
- CodeDirectoryCompiler.cs
- DataGridColumnCollection.cs
- SafeSystemMetrics.cs
- KeyedPriorityQueue.cs
- CurrencyWrapper.cs
- SqlTriggerAttribute.cs
- DPTypeDescriptorContext.cs
- Registry.cs
- EventListener.cs
- TreeNodeMouseHoverEvent.cs
- StrokeNode.cs
- CollectionViewGroupInternal.cs
- StringPropertyBuilder.cs
- Signature.cs
- ReflectEventDescriptor.cs
- DynamicDocumentPaginator.cs
- TraceSection.cs
- DataGridViewDataErrorEventArgs.cs
- MetadataExporter.cs
- InternalConfigHost.cs
- ToolStripRenderEventArgs.cs
- IntSecurity.cs
- SoapReflectionImporter.cs
- PageEventArgs.cs
- QilTargetType.cs
- ConfigurationManagerHelperFactory.cs
- ListBase.cs
- DataBindingsDialog.cs
- ListSortDescriptionCollection.cs
- DictionarySectionHandler.cs
- SymbolTable.cs
- Size3D.cs
- MimeFormImporter.cs
- ClientBuildManager.cs
- ProfileEventArgs.cs
- EpmCustomContentSerializer.cs
- FixedPageProcessor.cs
- ExtenderProvidedPropertyAttribute.cs
- XmlSchemaAnyAttribute.cs
- Visual3DCollection.cs
- SerializationSectionGroup.cs
- dsa.cs
- LicenseManager.cs
- LayoutEvent.cs
- SecurityState.cs
- odbcmetadatacolumnnames.cs
- SqlCacheDependencyDatabaseCollection.cs
- AutomationPeer.cs
- CharacterBuffer.cs
- DataGridViewCellParsingEventArgs.cs
- Section.cs
- ApplicationCommands.cs
- TextRangeAdaptor.cs
- EDesignUtil.cs
- ComboBoxRenderer.cs
- AsmxEndpointPickerExtension.cs
- Size3DConverter.cs
- IOException.cs
- objectresult_tresulttype.cs
- LicenseManager.cs
- FileDialogCustomPlace.cs
- SqlInternalConnection.cs
- ObjectSpanRewriter.cs
- ping.cs
- SharedPerformanceCounter.cs
- FormsAuthenticationCredentials.cs
- BooleanToVisibilityConverter.cs
- ExternalException.cs
- DbMetaDataFactory.cs
- RTLAwareMessageBox.cs
- ElementUtil.cs
- MenuCommands.cs
- StringDictionary.cs
- WebPartEditorOkVerb.cs
- MinMaxParagraphWidth.cs
- AttributeTableBuilder.cs
- WorkerRequest.cs
- Utility.cs
- CodeCommentStatement.cs