Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / KeyEvent.cs / 1305376 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CheckBoxField.cs
- EndpointAddressElementBase.cs
- Synchronization.cs
- PkcsUtils.cs
- CategoriesDocument.cs
- ExceptionHandler.cs
- webclient.cs
- OutOfMemoryException.cs
- CalendarButton.cs
- DrawingContextWalker.cs
- FloaterBaseParagraph.cs
- LinkClickEvent.cs
- TabControlAutomationPeer.cs
- MatrixCamera.cs
- DataFieldEditor.cs
- BaseAsyncResult.cs
- XPathAncestorIterator.cs
- XmlConverter.cs
- BatchStream.cs
- PasswordTextContainer.cs
- DeploymentSectionCache.cs
- DefaultBindingPropertyAttribute.cs
- AnnotationAuthorChangedEventArgs.cs
- InkPresenterAutomationPeer.cs
- FileDialogCustomPlace.cs
- ConnectionInterfaceCollection.cs
- EntityDataSourceSelectedEventArgs.cs
- FusionWrap.cs
- FollowerQueueCreator.cs
- DomainUpDown.cs
- HtmlMeta.cs
- StrokeRenderer.cs
- ServiceParser.cs
- Win32Native.cs
- RecognitionResult.cs
- QueryGenerator.cs
- X509CertificateTrustedIssuerElement.cs
- CompositionCommandSet.cs
- ServerTooBusyException.cs
- MouseEventArgs.cs
- JumpList.cs
- FormsAuthenticationTicket.cs
- CatalogZone.cs
- TypedTableBase.cs
- Encoder.cs
- X509Certificate2Collection.cs
- TextPointer.cs
- Path.cs
- Style.cs
- Message.cs
- PassportIdentity.cs
- Command.cs
- MailDefinition.cs
- TreeBuilderXamlTranslator.cs
- cookie.cs
- DbConnectionStringBuilder.cs
- LineUtil.cs
- ApplicationProxyInternal.cs
- MimeTypeAttribute.cs
- PauseStoryboard.cs
- ReadOnlyMetadataCollection.cs
- WorkerProcess.cs
- ZipIOModeEnforcingStream.cs
- WaitForChangedResult.cs
- Wildcard.cs
- ChannelBinding.cs
- IntMinMaxAggregationOperator.cs
- MediaPlayer.cs
- EncryptedPackage.cs
- HashStream.cs
- HtmlTableRow.cs
- FaultFormatter.cs
- Filter.cs
- Keywords.cs
- CacheMemory.cs
- RawStylusInputReport.cs
- PrimitiveSchema.cs
- IsolatedStorageFileStream.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- Emitter.cs
- XmlChildEnumerator.cs
- Section.cs
- Canonicalizers.cs
- StringFreezingAttribute.cs
- ImpersonationContext.cs
- ModelItemKeyValuePair.cs
- TextReader.cs
- TextPointerBase.cs
- FlatButtonAppearance.cs
- RepeatButton.cs
- PopupEventArgs.cs
- VectorKeyFrameCollection.cs
- BitmapEffectGroup.cs
- PartialArray.cs
- RemotingSurrogateSelector.cs
- StrokeFIndices.cs
- Margins.cs
- DiagnosticTraceSource.cs
- SoapFault.cs
- WindowsPrincipal.cs