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;
///
///
///
/// Provides data for the or
/// event.
///
///
[System.Runtime.InteropServices.ComVisible(true)]
public class KeyEventArgs : EventArgs {
///
///
/// 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;
///
///
///
/// Initializes a new
/// instance of the class.
///
///
public KeyEventArgs(Keys keyData) {
this.keyData = keyData;
}
///
///
///
/// Gets a value indicating whether the ALT key was pressed.
///
///
public virtual bool Alt {
get {
return (keyData & Keys.Alt) == Keys.Alt;
}
}
///
///
///
/// Gets a value indicating whether the CTRL key was pressed.
///
///
public bool Control {
get {
return (keyData & Keys.Control) == Keys.Control;
}
}
///
///
///
/// Gets or sets a value
/// indicating whether the event was handled.
///
///
//
public bool Handled {
get {
return handled;
}
set {
handled = value;
}
}
///
///
///
/// Gets the keyboard code for a or
/// event.
///
///
//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 value for a or
/// event.
///
///
//subhag : added the KeyValue as per the new requirements.
public int KeyValue {
get {
return (int)(keyData & Keys.KeyCode);
}
}
///
///
///
/// Gets the key data for a or
/// event.
///
///
public Keys KeyData {
get {
return keyData;
}
}
///
///
///
/// Gets the modifier flags for a or event.
/// This indicates which modifier keys (CTRL, SHIFT, and/or ALT) were pressed.
///
///
public Keys Modifiers {
get {
return keyData & Keys.Modifiers;
}
}
///
///
///
/// Gets
/// a value indicating whether the SHIFT key was pressed.
///
///
public virtual bool Shift {
get {
return (keyData & Keys.Shift) == Keys.Shift;
}
}
///
///
///
//
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
- ContentPropertyAttribute.cs
- wgx_sdk_version.cs
- UpdateExpressionVisitor.cs
- HitTestWithPointDrawingContextWalker.cs
- SimpleHandlerFactory.cs
- ContextBase.cs
- CollectionCodeDomSerializer.cs
- XmlKeywords.cs
- PropertyValueUIItem.cs
- LineUtil.cs
- FormViewModeEventArgs.cs
- PrtCap_Public.cs
- TextTrailingCharacterEllipsis.cs
- DataPagerField.cs
- HtmlElementErrorEventArgs.cs
- SizeConverter.cs
- WebSysDescriptionAttribute.cs
- GenericTypeParameterConverter.cs
- XPathAxisIterator.cs
- FieldInfo.cs
- EntityTypeBase.cs
- CleanUpVirtualizedItemEventArgs.cs
- NullableBoolConverter.cs
- TextWriterEngine.cs
- WorkflowExecutor.cs
- Sentence.cs
- TraceContext.cs
- FlowDocumentPage.cs
- DataGridTextBoxColumn.cs
- ExportFileRequest.cs
- NonBatchDirectoryCompiler.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- TextFindEngine.cs
- Point3DAnimationUsingKeyFrames.cs
- SortDescription.cs
- ExtensionDataReader.cs
- StreamGeometry.cs
- ContextStack.cs
- PropertyGridView.cs
- Cursor.cs
- Point3DCollection.cs
- ArrayConverter.cs
- ScrollChrome.cs
- TrueReadOnlyCollection.cs
- DataGridViewComboBoxColumnDesigner.cs
- ConfigXmlWhitespace.cs
- Identifier.cs
- HttpInputStream.cs
- FrameworkElementFactory.cs
- CheckoutException.cs
- WasHttpHandlersInstallComponent.cs
- VirtualPath.cs
- UITypeEditors.cs
- InvokeMethodActivityDesigner.cs
- _LocalDataStoreMgr.cs
- FontWeight.cs
- FixedSOMGroup.cs
- _IPv4Address.cs
- DisplayMemberTemplateSelector.cs
- ItemsChangedEventArgs.cs
- MailMessageEventArgs.cs
- HttpWrapper.cs
- FrameworkElement.cs
- DSASignatureDeformatter.cs
- ScrollChrome.cs
- CatalogPartChrome.cs
- DataGridLinkButton.cs
- ManageRequest.cs
- TypeUtil.cs
- IsolatedStorageFileStream.cs
- Ipv6Element.cs
- OleDbErrorCollection.cs
- ToolStripTextBox.cs
- PanelStyle.cs
- XmlSequenceWriter.cs
- SafeWaitHandle.cs
- WebEventTraceProvider.cs
- DocumentationServerProtocol.cs
- OracleString.cs
- LineUtil.cs
- WorkflowRuntimeService.cs
- ObjectViewQueryResultData.cs
- XmlMemberMapping.cs
- ContentPropertyAttribute.cs
- ArrayElementGridEntry.cs
- CodeMemberMethod.cs
- PartitionResolver.cs
- HtmlControlPersistable.cs
- _ConnectionGroup.cs
- FontNamesConverter.cs
- BamlVersionHeader.cs
- CodeRemoveEventStatement.cs
- StorageMappingItemCollection.cs
- DomainLiteralReader.cs
- QueryContinueDragEvent.cs
- UnsafeNativeMethods.cs
- PersonalizationDictionary.cs
- MembershipValidatePasswordEventArgs.cs
- metadatamappinghashervisitor.cs
- CollectionBuilder.cs