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(Окно); } } }