WindowsFormsHostAutomationPeer.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 / Integration / System / Windows / Automation / Peers / WindowsFormsHostAutomationPeer.cs / 1 / WindowsFormsHostAutomationPeer.cs

                            using System.Windows.Automation; 
using System.Windows.Automation.Provider;
using System.Windows.Forms.Integration;
using System.Security;
using System.Security.Permissions; 

namespace System.Windows.Automation.Peers 
{ 

    /// 
    public sealed class WindowsFormsHostAutomationPeer : FrameworkElementAutomationPeer
    {
        ///
        [PermissionSet(SecurityAction.Demand, Name = "FullTrust")] 
        public WindowsFormsHostAutomationPeer(WindowsFormsHost owner): base(owner)
        {} 
 
        ///
        override protected string GetClassNameCore() 
        {
            return "WindowsFormsHost";
        }
 
        ///
        override protected AutomationControlType GetAutomationControlTypeCore() 
        { 
            return AutomationControlType.Pane;
        } 

        ///
        override protected bool IsHwndHost { get { return true; }}
 
        /// 
        ///     Critical    - Calls critical HwndHost.Handle. 
        ///     TreatAsSafe - This demands full trust, so it's safe 
        /// 
        [SecurityCritical, SecurityTreatAsSafe] 
        [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
        override protected HostedWindowWrapper GetHostRawElementProviderCore()
        {
            HostedWindowWrapper host = null; 

            WindowsFormsHost wfh = (WindowsFormsHost)Owner; 
            IntPtr hwnd = wfh.Handle; 

            if(hwnd != IntPtr.Zero) 
            {
                host = new HostedWindowWrapper(hwnd);
            }
 
            return host;
        } 
 
        internal IRawElementProviderSimple GetProvider()
         { 
            return ProviderFromPeer(this);
        }

    } 
}
 
 

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