Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CompositeFontFamily.cs
- DynamicRenderer.cs
- DetailsViewModeEventArgs.cs
- Panel.cs
- JsonDataContract.cs
- DependencyObject.cs
- ToolStripLabel.cs
- CriticalHandle.cs
- DeferredElementTreeState.cs
- GradientBrush.cs
- EnumConverter.cs
- SslStream.cs
- ConfigurationValidatorBase.cs
- AdornerLayer.cs
- GlobalEventManager.cs
- TabControlEvent.cs
- FragmentQuery.cs
- Column.cs
- HtmlPhoneCallAdapter.cs
- FileDialogPermission.cs
- MultipleViewPattern.cs
- ProcessModuleCollection.cs
- StringSource.cs
- AxisAngleRotation3D.cs
- StringReader.cs
- BindingExpression.cs
- TraceHandlerErrorFormatter.cs
- QuestionEventArgs.cs
- DataKey.cs
- SecurityIdentifierElementCollection.cs
- BaseCollection.cs
- DefaultBindingPropertyAttribute.cs
- DBCSCodePageEncoding.cs
- Property.cs
- HttpCookiesSection.cs
- DrawingAttributeSerializer.cs
- DataGridTextBoxColumn.cs
- TargetException.cs
- HWStack.cs
- GridViewColumnHeaderAutomationPeer.cs
- Codec.cs
- ShapingEngine.cs
- KeyGestureConverter.cs
- Triplet.cs
- EntityObject.cs
- BufferedGraphics.cs
- XmlTextReader.cs
- ControlPaint.cs
- HitTestDrawingContextWalker.cs
- FontCacheLogic.cs
- VisualStyleElement.cs
- WmpBitmapDecoder.cs
- EditorPartChrome.cs
- ThreadAbortException.cs
- BadImageFormatException.cs
- EntityCodeGenerator.cs
- linebase.cs
- SHA256Managed.cs
- DrawingBrush.cs
- StopStoryboard.cs
- Geometry.cs
- AssemblyFilter.cs
- XmlSchemaParticle.cs
- FormViewCommandEventArgs.cs
- TcpStreams.cs
- RepeatInfo.cs
- XmlTextReaderImpl.cs
- Profiler.cs
- TagMapCollection.cs
- DefaultAuthorizationContext.cs
- FontFamilyIdentifier.cs
- ContextStack.cs
- Vector3dCollection.cs
- UrlAuthorizationModule.cs
- OutputCacheProviderCollection.cs
- LiteralDesigner.cs
- NumberSubstitution.cs
- XPathItem.cs
- RawMouseInputReport.cs
- SiteMapNode.cs
- SuppressMessageAttribute.cs
- WebBrowserContainer.cs
- ProtectedConfigurationSection.cs
- util.cs
- CodeConditionStatement.cs
- TableCellsCollectionEditor.cs
- RecordBuilder.cs
- Collection.cs
- CreateUserWizardStep.cs
- BypassElement.cs
- XslAst.cs
- TempFiles.cs
- BulletedListEventArgs.cs
- TransformGroup.cs
- EntityClassGenerator.cs
- BuildProviderAppliesToAttribute.cs
- Misc.cs
- FixedNode.cs
- XmlAttributeProperties.cs
- XmlDataSource.cs