Code:
/ FX-1434 / FX-1434 / 1.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
- References.cs
- URLString.cs
- SqlCacheDependencySection.cs
- EntityConnectionStringBuilderItem.cs
- ArraySubsetEnumerator.cs
- DocumentStatusResources.cs
- ConfigurationValues.cs
- BaseResourcesBuildProvider.cs
- Color.cs
- ServerType.cs
- Zone.cs
- Events.cs
- MultitargetUtil.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- StyleSelector.cs
- SafeFreeMibTable.cs
- SR.Designer.cs
- DecoderNLS.cs
- QilReference.cs
- ErrorHandlingAcceptor.cs
- FormView.cs
- querybuilder.cs
- SequentialWorkflowRootDesigner.cs
- XmlArrayItemAttributes.cs
- FixedTextBuilder.cs
- InfoCardMetadataExchangeClient.cs
- ContentOperations.cs
- ConnectionString.cs
- WorkflowOperationBehavior.cs
- WaitHandleCannotBeOpenedException.cs
- RootBrowserWindowProxy.cs
- ParallelTimeline.cs
- ComponentRenameEvent.cs
- ToolBarButton.cs
- CheckPair.cs
- ArrayList.cs
- ThaiBuddhistCalendar.cs
- SelectedDatesCollection.cs
- DependencyObjectType.cs
- UserControlFileEditor.cs
- SessionState.cs
- InfoCardSymmetricAlgorithm.cs
- FamilyMapCollection.cs
- TextProperties.cs
- RichTextBoxConstants.cs
- MemberInitExpression.cs
- Stroke.cs
- TextBoxBase.cs
- MembershipValidatePasswordEventArgs.cs
- OpCodes.cs
- UDPClient.cs
- EditingScope.cs
- ToolstripProfessionalRenderer.cs
- ResolveDuplexAsyncResult.cs
- XsltFunctions.cs
- NativeMethods.cs
- Repeater.cs
- GenericEnumerator.cs
- ThicknessAnimationBase.cs
- VerificationException.cs
- CheckBoxList.cs
- TextTreeRootTextBlock.cs
- XPathArrayIterator.cs
- TypeSystemProvider.cs
- DataControlPagerLinkButton.cs
- SqlReferenceCollection.cs
- DiagnosticsConfigurationHandler.cs
- ElementsClipboardData.cs
- DbConnectionPoolCounters.cs
- DataServiceProcessingPipelineEventArgs.cs
- CqlParser.cs
- CultureMapper.cs
- ObjectDataSourceMethodEventArgs.cs
- HtmlProps.cs
- ServiceHandle.cs
- SiteMapNodeCollection.cs
- TemplateKeyConverter.cs
- StateWorkerRequest.cs
- ManageRequest.cs
- ListControlBuilder.cs
- Int64Animation.cs
- XmlCharType.cs
- HtmlAnchor.cs
- OdbcReferenceCollection.cs
- LocalizabilityAttribute.cs
- Utils.cs
- XmlConverter.cs
- AvtEvent.cs
- LineProperties.cs
- CodeTypeMemberCollection.cs
- ActivityDesignerAccessibleObject.cs
- GacUtil.cs
- BrowserInteropHelper.cs
- BaseTemplateBuildProvider.cs
- UnescapedXmlDiagnosticData.cs
- SocketManager.cs
- ThrowHelper.cs
- CodeAttributeArgument.cs
- BamlTreeMap.cs
- Bidi.cs