internal static void ДобавитьТред(Form ГлавноеОкно, string аздел)
        {
            int             номерТреда       = System.Threading.Thread.CurrentThread.ManagedThreadId;
            СписокОконТреда списокОконТреда  = НайтиСписокОконТреда(номерТреда);
            bool            списокСуществует = (списокОконТреда != null);

            lock ( списокОкон )
            {
                if (списокОконТреда != null)
                {
                    списокОконТреда.Очистить();
                }
                else
                {
                    списокОконТреда = new СписокОконТреда();
                }
                списокОконТреда.номерТреда  = номерТреда;
                списокОконТреда.главноеОкно = ГлавноеОкно;
                списокОконТреда.раздел      = аздел;
                списокОконТреда.списокОткрытыхОкон.Add(ГлавноеОкно);

                if (!списокСуществует)
                {
                    списокОкон.Add(списокОконТреда);
                }
            }
        }
        public static void АктивироватьОкно(Form Окно)
        {
            int             номерПотока = System.Threading.Thread.CurrentThread.ManagedThreadId;
            СписокОконТреда окна        = НайтиСписокОконТреда(номерПотока);

            if (окна != null && ГлавноеОкно != null)
            {
                ТекущийСписокОкон = окна;
                //ГлавноеОкно.lookUpEdit_ТекущееОкно.EditValue = ТекущийСписокОкон;
            }
        }
        public static void ИсключитьОкно(Form Окно)
        {
            int             номерТреда      = System.Threading.Thread.CurrentThread.ManagedThreadId;
            СписокОконТреда списокОконТреда = НайтиСписокОконТреда(номерТреда);

            lock ( списокОкон )
            {
                if (списокОконТреда != null)
                {
                    списокОконТреда.списокОткрытыхОкон.Remove(Окно);
                }
            }
        }
        internal static void ИсключитьТред()
        {
            int             номерТреда      = System.Threading.Thread.CurrentThread.ManagedThreadId;
            СписокОконТреда списокОконТреда = НайтиСписокОконТреда(номерТреда);

            lock ( списокОкон )
            {
                if (списокОконТреда != null)
                {
                    СписокОкон.Remove(списокОконТреда);
                }
            }
        }
        public static void ДобавитьОкно(Form Окно)
        {
            int             номерТреда      = System.Threading.Thread.CurrentThread.ManagedThreadId;
            СписокОконТреда списокОконТреда = НайтиСписокОконТреда(номерТреда);

            lock ( списокОкон )
            {
                if (списокОконТреда != null)
                {
                    foreach (Form окно in списокОконТреда.списокОткрытыхОкон)
                    {
                        if (окно == Окно)
                        {
                            // ничего не делаем, окно уже зарезервированно
                            return;
                        }
                    }
                    списокОконТреда.списокОткрытыхОкон.Add(Окно);
                }
            }
        }