Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / CheckBox.cs / 1458001 / CheckBox.cs
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Windows.Threading;
using System.Windows.Automation;
using System.Windows.Controls.Primitives;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using MS.Utility;
using MS.Internal.KnownBoxes;
// Disable CS3001: Warning as Error: not CLS-compliant
#pragma warning disable 3001
namespace System.Windows.Controls
{
#region CheckBox class
///
/// Use a CheckBox to give the user an option, such as true/false.
/// CheckBox allow the user to choose from a list of options.
/// CheckBox controls let the user pick a combination of options.
///
[DefaultEvent("CheckStateChanged")]
[Localizability(LocalizationCategory.CheckBox)]
public class CheckBox : ToggleButton
{
#region Constructors
static CheckBox()
{
// Set the default Style
DefaultStyleKeyProperty.OverrideMetadata(typeof(CheckBox), new FrameworkPropertyMetadata(typeof(CheckBox)));
_dType = DependencyObjectType.FromSystemTypeInternal(typeof(CheckBox));
KeyboardNavigation.AcceptsReturnProperty.OverrideMetadata(typeof(CheckBox), new FrameworkPropertyMetadata(BooleanBoxes.FalseBox));
}
///
/// Default CheckBox constructor
///
///
/// Automatic determination of current Dispatcher. Use alternative constructor
/// that accepts a Dispatcher for best performance.
///
public CheckBox() : base()
{
}
#endregion
#region Override methods
///
/// Creates AutomationPeer ( )
///
protected override System.Windows.Automation.Peers.AutomationPeer OnCreateAutomationPeer()
{
return new System.Windows.Automation.Peers.CheckBoxAutomationPeer(this);
}
///
/// This is the method that responds to the KeyDown event.
///
///
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
// Add aditional keys "+" and "-" when we are not in IsThreeState mode
if (!IsThreeState)
{
if (e.Key == Key.OemPlus || e.Key == Key.Add)
{
e.Handled = true;
ClearValue(IsPressedPropertyKey);
SetCurrentValueInternal(IsCheckedProperty, BooleanBoxes.TrueBox);
}
else if (e.Key == Key.OemMinus || e.Key == Key.Subtract)
{
e.Handled = true;
ClearValue(IsPressedPropertyKey);
SetCurrentValueInternal(IsCheckedProperty, BooleanBoxes.FalseBox);
}
}
}
///
/// The Access key for this control was invoked.
///
///
protected override void OnAccessKey(AccessKeyEventArgs e)
{
if (!IsKeyboardFocused)
{
Focus();
}
base.OnAccessKey(e);
}
#endregion
#region Data
#endregion
#region DTypeThemeStyleKey
// Returns the DependencyObjectType for the registered ThemeStyleKey's default
// value. Controls will override this method to return approriate types.
internal override DependencyObjectType DTypeThemeStyleKey
{
get { return _dType; }
}
private static DependencyObjectType _dType;
#endregion DTypeThemeStyleKey
}
#endregion CheckBox class
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Windows.Threading;
using System.Windows.Automation;
using System.Windows.Controls.Primitives;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using MS.Utility;
using MS.Internal.KnownBoxes;
// Disable CS3001: Warning as Error: not CLS-compliant
#pragma warning disable 3001
namespace System.Windows.Controls
{
#region CheckBox class
///
/// Use a CheckBox to give the user an option, such as true/false.
/// CheckBox allow the user to choose from a list of options.
/// CheckBox controls let the user pick a combination of options.
///
[DefaultEvent("CheckStateChanged")]
[Localizability(LocalizationCategory.CheckBox)]
public class CheckBox : ToggleButton
{
#region Constructors
static CheckBox()
{
// Set the default Style
DefaultStyleKeyProperty.OverrideMetadata(typeof(CheckBox), new FrameworkPropertyMetadata(typeof(CheckBox)));
_dType = DependencyObjectType.FromSystemTypeInternal(typeof(CheckBox));
KeyboardNavigation.AcceptsReturnProperty.OverrideMetadata(typeof(CheckBox), new FrameworkPropertyMetadata(BooleanBoxes.FalseBox));
}
///
/// Default CheckBox constructor
///
///
/// Automatic determination of current Dispatcher. Use alternative constructor
/// that accepts a Dispatcher for best performance.
///
public CheckBox() : base()
{
}
#endregion
#region Override methods
///
/// Creates AutomationPeer ( )
///
protected override System.Windows.Automation.Peers.AutomationPeer OnCreateAutomationPeer()
{
return new System.Windows.Automation.Peers.CheckBoxAutomationPeer(this);
}
///
/// This is the method that responds to the KeyDown event.
///
///
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
// Add aditional keys "+" and "-" when we are not in IsThreeState mode
if (!IsThreeState)
{
if (e.Key == Key.OemPlus || e.Key == Key.Add)
{
e.Handled = true;
ClearValue(IsPressedPropertyKey);
SetCurrentValueInternal(IsCheckedProperty, BooleanBoxes.TrueBox);
}
else if (e.Key == Key.OemMinus || e.Key == Key.Subtract)
{
e.Handled = true;
ClearValue(IsPressedPropertyKey);
SetCurrentValueInternal(IsCheckedProperty, BooleanBoxes.FalseBox);
}
}
}
///
/// The Access key for this control was invoked.
///
///
protected override void OnAccessKey(AccessKeyEventArgs e)
{
if (!IsKeyboardFocused)
{
Focus();
}
base.OnAccessKey(e);
}
#endregion
#region Data
#endregion
#region DTypeThemeStyleKey
// Returns the DependencyObjectType for the registered ThemeStyleKey's default
// value. Controls will override this method to return approriate types.
internal override DependencyObjectType DTypeThemeStyleKey
{
get { return _dType; }
}
private static DependencyObjectType _dType;
#endregion DTypeThemeStyleKey
}
#endregion CheckBox class
}
// 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
- _emptywebproxy.cs
- ReturnValue.cs
- EndpointConfigContainer.cs
- DropShadowBitmapEffect.cs
- ServiceContractGenerator.cs
- DefaultBindingPropertyAttribute.cs
- ClientData.cs
- DataControlField.cs
- OptimizedTemplateContentHelper.cs
- Drawing.cs
- PathBox.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- MemberPath.cs
- TableAdapterManagerNameHandler.cs
- HwndAppCommandInputProvider.cs
- TriState.cs
- OrderByQueryOptionExpression.cs
- SiteMapPathDesigner.cs
- NavigationCommands.cs
- EdmPropertyAttribute.cs
- TraversalRequest.cs
- MatrixCamera.cs
- LabelAutomationPeer.cs
- LinqDataSource.cs
- VolatileEnlistmentMultiplexing.cs
- URLAttribute.cs
- DBSqlParser.cs
- HostedTcpTransportManager.cs
- EncryptRequest.cs
- UserControlAutomationPeer.cs
- FactorySettingsElement.cs
- UnsafeNativeMethods.cs
- ProxyManager.cs
- datacache.cs
- FloatUtil.cs
- ModelServiceImpl.cs
- EntityDataSourceDesignerHelper.cs
- Point3D.cs
- CodeLabeledStatement.cs
- XmlSerializerFactory.cs
- SelectorItemAutomationPeer.cs
- DataTableCollection.cs
- WebRequest.cs
- GridViewAutomationPeer.cs
- CultureInfoConverter.cs
- DataServices.cs
- TokenBasedSet.cs
- CompositeTypefaceMetrics.cs
- CornerRadiusConverter.cs
- TextServicesManager.cs
- HostedHttpContext.cs
- DataObjectPastingEventArgs.cs
- ZipIOLocalFileDataDescriptor.cs
- UshortList2.cs
- ThreadStartException.cs
- GB18030Encoding.cs
- XmlReflectionImporter.cs
- DBSchemaRow.cs
- Int16AnimationBase.cs
- CacheDict.cs
- MimeMapping.cs
- MetadataArtifactLoaderComposite.cs
- SimpleWorkerRequest.cs
- RelationshipType.cs
- CapabilitiesSection.cs
- DecimalStorage.cs
- SHA256Managed.cs
- XmlDictionaryReaderQuotas.cs
- XmlTypeMapping.cs
- NamespaceList.cs
- InputScopeNameConverter.cs
- SafeProcessHandle.cs
- ProfileParameter.cs
- FrameworkTextComposition.cs
- RangeValidator.cs
- AccessViolationException.cs
- DnsPermission.cs
- SimpleMailWebEventProvider.cs
- ToolStripSplitStackLayout.cs
- EdgeProfileValidation.cs
- TargetConverter.cs
- ConfigUtil.cs
- TextDecorationLocationValidation.cs
- AccessDataSource.cs
- MutexSecurity.cs
- UiaCoreTypesApi.cs
- PrimitiveCodeDomSerializer.cs
- QueryParameter.cs
- Util.cs
- ToolStripContentPanelRenderEventArgs.cs
- BuildProviderCollection.cs
- GenericIdentity.cs
- WSIdentityFaultException.cs
- Token.cs
- BoundPropertyEntry.cs
- RSAPKCS1SignatureDeformatter.cs
- PropertyFilterAttribute.cs
- OdbcInfoMessageEvent.cs
- ISFTagAndGuidCache.cs
- QueryConverter.cs