This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

WindowClosedEventArgs.GetRuntimeId أسلوب

Visual Studio 2010

يسترد UI Automationوقت التشغيل معرّف (ID)المقترن بهذا حدث.

مساحة الاسم:  System.Windows.Automation
التجميع:  UIAutomationTypes (في UIAutomationTypes.dll)

public int[] GetRuntimeId()

القيمة المُرجعة

النوع: System.Int32[]
UI Automationوقت التشغيل معرّفمن نافذة على الذي تم تشغيل حدث.

عندما يتلقى تطبيق الخاص بك-مغلق الإطار حدثاً، senderلا يمكن استخدام معلمة معالج الأحداث للحصول على معلومات حول الإطار الذي تم مغلقه، لأن المطابقة Microsoft UI Automationعنصر هو لم تعد صالحة. استخدم GetRuntimeIdبحيث تتطابق مع الإطار مع معرّف المعروفة.

في المثال التالي، معالج للحدث إغلاق النافذة ascertains ما إذا كان المعرف وقت التشغيل في نافذة مغلق هو في lهوt لالمعرفات نافذةات مفتوحة. إذا كان المعرف وقت التشغيل هو موجود، هو إزالتها من lهوt.


        /// <summary>
        /// Handles window-closed events. Removes the window from the top-level window list.
        /// </summary>
        /// <param name="sender">Object that raised the event.</param>
        /// <param name="e">Event arguments.</param>
        /// <remarks>
        /// runtimteIds is an ArrayList that contains the runtime IDs of all top-level windows.
        /// </remarks>
        private void WindowClosedHandler(object sender, AutomationEventArgs e)
        {
            WindowClosedEventArgs windowEventArgs = (WindowClosedEventArgs)e;
            int[] runtimeIdentifiers = windowEventArgs.GetRuntimeId();
            int index = RuntimeIdListed(runtimeIdentifiers, savedRuntimeIds);
            if (index >= 0)
            {
                savedRuntimeIds.RemoveAt(index);
                Console.WriteLine("Window closed.");
            }
        }

        /// <summary>
        /// Ascertains whether the window is in the list.
        /// </summary>
        /// <param name="rid">Runtime ID of the window.</param>
        /// <returns>Index of the ID in the list, or -1 if it is not listed.</returns>
        /// <remarks>
        /// runtimteIds is an ArrayList that contains the runtime IDs of all top-level windows.
        /// </remarks>
        private int RuntimeIdListed(int[] runtimeId, ArrayList runtimeIds)
        {
            for (int x = 0; x < runtimeIds.Count; x++)
            {
                int[] listedId = (int[])runtimeIds[x];
                if (Automation.Compare(listedId, runtimeId))
                {
                    return x;
                }
            }
            return -1;
        }



نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008, نظام التشغيل Windows Server 2003

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0

NET Framework. Client Profile

مدعوم في: 4
إظهار: