DialogBaseForm.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / TrustUi / MS / Internal / documents / DialogBaseForm.cs / 1 / DialogBaseForm.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: 
//    DialogBaseForm:  Base class for all DRP dialogs.
// 
// History:
// 08/03/05 - [....] created
//
//--------------------------------------------------------------------------- 
using System;
using System.Windows.Forms; 
using System.Drawing; 
using System.Globalization;
using System.Windows.TrustUI; 


namespace MS.Internal.Documents
{ 
    /// 
    /// DialogBaseForm is the base class for all DRP dialogs 
    ///  
    internal class DialogBaseForm : Form
    { 
        #region Constructors
        //-----------------------------------------------------
        //
        //  Constructors 
        //
        //----------------------------------------------------- 
 
        /// 
        /// The constructor 
        /// 
        public DialogBaseForm()
        {
            // Setup ToolTip object for dialogs 
            _toolTip = new ToolTip();
            _toolTip.Active = true; 
            _toolTip.ShowAlways = true; 

            InitializeComponent(); 
            ApplyStyle();
            ApplyResources();
            ApplyRTL();
        } 

        #endregion Constructors 
 
        #region Protected Methods
        //------------------------------------------------------ 
        //
        //  Protected Methods
        //
        //----------------------------------------------------- 

        ///  
        /// InitializeComponent. 
        /// 
        protected virtual void InitializeComponent() 
        {
        }

        ///  
        /// ApplyStyle.
        ///  
        protected virtual void ApplyStyle() 
        {
            ApplyDialogFont(this); 

            // Setup the visual styles for our winform dialog.
            System.Windows.Forms.Application.EnableVisualStyles();
 
            // Set the default background color
            BackColor = System.Drawing.SystemColors.Control; 
        } 

        ///  
        /// ApplyResources.
        /// 
        protected virtual void ApplyResources()
        { 
            Icon = Resources.DocumentApplication;
        } 
 
        #endregion Protected Methods
 
        #region Private Methods
        //------------------------------------------------------
        //
        //  Private Methods 
        //
        //------------------------------------------------------ 
 
        /// 
        /// Method for applying font to all controls on the form. 
        /// 
        private void ApplyDialogFont(Control control)
        {
            //loop through all child controls and apply font 
            foreach (Control c in control.Controls)
            { 
                ApplyDialogFont(c); 

                //Set the Font 
                //Note:  This doesn't handle menus or icons (currently DRP dialogs don't have these)
                c.Font = System.Drawing.SystemFonts.DialogFont;

                // Switch to GDI rendering for all controls that support it 
                if (c is Label)
                { 
                    (c as Label).UseCompatibleTextRendering = false; 
                }
                if (c is ButtonBase) 
                {
                    (c as ButtonBase).UseCompatibleTextRendering = false;
                }
                if (c is PropertyGrid) 
                {
                    (c as PropertyGrid).UseCompatibleTextRendering = false; 
                } 
                if (c is CheckedListBox)
                { 
                    (c as CheckedListBox).UseCompatibleTextRendering = false;
                }
                if (c is GroupBox)
                { 
                    (c as GroupBox).UseCompatibleTextRendering = false;
                } 
                if (c is LinkLabel) 
                {
                    (c as LinkLabel).UseCompatibleTextRendering = false; 
                }
            }
        }
 
        /// 
        /// Applies the WinForms RightToLeft and RightToLeftLayout properties based on the FlowDirection of 
        /// DocumentApplicationDocumentViewer. 
        /// 
        private void ApplyRTL() 
        {
            // Get the UI Language from the string table
            string uiLanguage = SR.Get(SRID.WPF_UILanguage);
            Invariant.Assert(!string.IsNullOrEmpty(uiLanguage), "No UILanguage was specified in stringtable."); 

            // Set this dialog's RTL property based on the RTL property for the 
            // language specified in the string table. 
            CultureInfo uiCulture = new CultureInfo(uiLanguage);
            if ( uiCulture.TextInfo.IsRightToLeft ) 
            {
                RightToLeft = RightToLeft.Yes;
                RightToLeftLayout = true;
            } 
            else
            { 
                RightToLeft = RightToLeft.No; 
                RightToLeftLayout = false;
            } 

        }

        #endregion Private Methods 

 
        //----------------------------------------------------- 
        //
        //  Protected fields 
        //
        //------------------------------------------------------

        #region Protected Fields 
        // The maximum number of characters allowed in the "Location,"
        // "Name," and "Intent" fields for our Signing and RequestedSignature 
        // dialogs. 
        protected const int _maxLocationLength = 128;
        protected const int _maxNameLength = 128; 
        protected const int _maxIntentLength = 256;

        // A reference to the general tooltip object used to assign tooltip
        // strings to controls. 
        protected ToolTip _toolTip;
 
        #endregion Protected Fields 
    }
} 

// 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