CheckBox.cs source code in C# .NET

Source code for the .NET framework in C#

                        

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

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK