Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Controls / CheckBox.cs / 1 / 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);
IsChecked = true;
}
else if (e.Key == Key.OemMinus || e.Key == Key.Subtract)
{
e.Handled = true;
ClearValue(IsPressedPropertyKey);
IsChecked = false;
}
}
}
///
/// 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);
IsChecked = true;
}
else if (e.Key == Key.OemMinus || e.Key == Key.Subtract)
{
e.Handled = true;
ClearValue(IsPressedPropertyKey);
IsChecked = false;
}
}
}
///
/// 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
- BooleanProjectedSlot.cs
- TableCellCollection.cs
- DictionaryBase.cs
- TiffBitmapDecoder.cs
- OrderByBuilder.cs
- JapaneseCalendar.cs
- ClientScriptItem.cs
- BrowserDefinitionCollection.cs
- Delegate.cs
- RowToParametersTransformer.cs
- CacheMemory.cs
- SecurityMode.cs
- BoolExpression.cs
- linebase.cs
- RtfToXamlReader.cs
- Rotation3D.cs
- StrongNameMembershipCondition.cs
- HtmlEncodedRawTextWriter.cs
- CmsUtils.cs
- PointF.cs
- HMACMD5.cs
- ListViewContainer.cs
- ConstNode.cs
- RouteParameter.cs
- QilTernary.cs
- LinkedDataMemberFieldEditor.cs
- ApplicationBuildProvider.cs
- BooleanConverter.cs
- PeerNameResolver.cs
- WriteStateInfoBase.cs
- IdentityNotMappedException.cs
- HttpConfigurationSystem.cs
- controlskin.cs
- TypeInfo.cs
- Int32KeyFrameCollection.cs
- DocumentEventArgs.cs
- DataGridTemplateColumn.cs
- CodeNamespaceCollection.cs
- DrawingContextWalker.cs
- IntegerValidatorAttribute.cs
- WCFServiceClientProxyGenerator.cs
- WebScriptEndpoint.cs
- TrackingExtract.cs
- GlyphElement.cs
- MouseActionConverter.cs
- LongValidator.cs
- ValueChangedEventManager.cs
- GradientBrush.cs
- SingleResultAttribute.cs
- BookmarkEventArgs.cs
- XamlPathDataSerializer.cs
- Registry.cs
- InfoCardTraceRecord.cs
- CapabilitiesSection.cs
- MultipartIdentifier.cs
- XmlUtf8RawTextWriter.cs
- QuotedPrintableStream.cs
- XomlCompilerResults.cs
- NameScope.cs
- SplitterCancelEvent.cs
- AmbientValueAttribute.cs
- DBPropSet.cs
- Message.cs
- DataGridViewMethods.cs
- WorkflowIdleBehavior.cs
- BoolExpr.cs
- TextOptions.cs
- NotifyIcon.cs
- CommandDevice.cs
- KeyManager.cs
- UriSectionReader.cs
- RotateTransform.cs
- JumpTask.cs
- FontStretch.cs
- TextTreeTextNode.cs
- SamlAssertion.cs
- EntitySqlQueryCacheKey.cs
- RuleProcessor.cs
- XmlSchemaInferenceException.cs
- WindowsServiceCredential.cs
- XmlIgnoreAttribute.cs
- ColorConvertedBitmap.cs
- FolderBrowserDialogDesigner.cs
- EmptyReadOnlyDictionaryInternal.cs
- WindowsListViewItemCheckBox.cs
- WsatServiceCertificate.cs
- BaseAsyncResult.cs
- CallbackTimeoutsBehavior.cs
- WebPartVerb.cs
- StrokeIntersection.cs
- ProfileGroupSettings.cs
- WrappedIUnknown.cs
- DropShadowEffect.cs
- RangeValidator.cs
- ComNativeDescriptor.cs
- OutputCacheProfile.cs
- AuthenticodeSignatureInformation.cs
- ReaderWriterLockWrapper.cs
- XmlSchemaAppInfo.cs
- embossbitmapeffect.cs