ФормыДляОдноСкрипта.КоллекцияФорм (OneScriptForms.FormsCollection) Свойство

Использование

Только чтение.

Значение

Тип: КоллекцияФорм (FormsCollection).

Возвращает коллекцию созданных в приложении форм.

Примечание

Пример

//=== Пример с формами, созданными в подключаемых сценариях ===

// В каталоге C:\7\ расположите файл библиотеки, файл Приложение.os и файл ПодключеннаяФорма.os

//=== Содержимое файла Приложение.os ===
ПодключитьВнешнююКомпоненту("C:\7\OneScriptForms.dll");
Ф = Новый ФормыДляОдноСкрипта();
Форма1 = Ф.Форма();
Форма1.Текст = "Форма1";
Форма1.Отображать = Истина;
Форма1.Показать();

ПодключитьСценарий("C:\7\ПодключеннаяФорма.os", "ПодключеннаяФорма");
Сценарий1 = Новый ПодключеннаяФорма();
ПодключеннаяФорма1 = Ф.СоздатьФорму(Сценарий1);
ПодключеннаяФорма1.Показать();

Сценарий2 = Новый ПодключеннаяФорма();
ПодключеннаяФорма2 = Ф.СоздатьФорму(Сценарий2);
ПодключеннаяФорма2.Показать();

Сообщить("Ф.КоллекцияФорм.Количество = " + Ф.КоллекцияФорм.Количество);
Для Каждого форма Из Ф.КоллекцияФорм Цикл
	Сообщить("Текст формы = " + форма.Текст);
КонецЦикла;

Для А = 0 По Ф.КоллекцияФорм.Количество - 1 Цикл
	Сообщить("Форма с индексом " + А + " - " + Ф.КоллекцияФорм.Получить(А).Текст);
КонецЦикла;

ФормаСЭлементами = Ф.КоллекцияФорм.Получить(1);
Сообщить("Количество элементов на форме = " + ФормаСЭлементами.ЭлементыУправления.Количество);
Для Каждого элемент Из ФормаСЭлементами.ЭлементыУправления Цикл
	Сообщить("Текст элемента = " + элемент.Текст);
КонецЦикла;

Ф.ЗапуститьОбработкуСобытий();
//======================================

//=== Содержимое файла ПодключеннаяФорма.os ===
Перем ВремяСоздания;
Перем Ф;

Процедура ПриСозданииФормы(Форма) Экспорт
    ЭтаФорма = Форма;
    ЭтаФорма.Текст = "ПодключеннаяФорма " + ВремяСоздания;
    ЭтаФорма.Отображать = Истина;
    
    Кнопка1 = Ф.Кнопка();
    Кнопка1.Родитель = ЭтаФорма;
    Кнопка1.Текст = "Кнопка1";
    Кнопка1.Границы = Ф.Прямоугольник(10, 10, 180, 30);
    Кнопка1.Нажатие = Ф.Действие(ЭтотОбъект, "Кнопка1_Нажатие");
    
    Кнопка2 = Ф.Кнопка();
    Кнопка2.Родитель = ЭтаФорма;
    Кнопка2.Текст = "Кнопка2";
    Кнопка2.Границы = Ф.Прямоугольник(10, 10, 180, 30);
    Кнопка2.Ниже(Кнопка1, 10);
    
    Кнопка3 = Ф.Кнопка();
    Кнопка3.Родитель = ЭтаФорма;
    Кнопка3.Текст = "Кнопка3";
    Кнопка3.Границы = Ф.Прямоугольник(10, 10, 180, 30);
    Кнопка3.Ниже(Кнопка2, 10);
КонецПроцедуры

Процедура Кнопка1_Нажатие() Экспорт
    Сообщить("Кнопка1_Нажатие " + ВремяСоздания);
КонецПроцедуры

Ф = Новый ФормыДляОдноСкрипта();
ВремяСоздания = ТекущаяУниверсальнаяДатаВМиллисекундах();
//======================================
Полный пример кода

Копировать     Выделить всё

Процедура Кнопка1_Нажатие() Экспорт Сообщить("Кнопка1_Нажатие"); КонецПроцедуры Процедура Кнопка4_Нажатие() Экспорт Сообщить("Кнопка4_Нажатие"); КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Текст = "Форма1"; Форма1.Отображать = Истина; Форма1.Показать(); Форма2 = Ф.Форма(); Форма2.Текст = "Форма2"; Форма2.Отображать = Истина; Форма2.Показать(); Кнопка1 = Ф.Кнопка(); Кнопка1.Родитель = Форма2; Кнопка1.Текст = "Кнопка1"; Кнопка1.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка1.Нажатие = Ф.Действие(ЭтотОбъект, "Кнопка1_Нажатие"); Кнопка2 = Ф.Кнопка(); Кнопка2.Родитель = Форма2; Кнопка2.Текст = "Кнопка2"; Кнопка2.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка2.Ниже(Кнопка1, 10); Кнопка3 = Ф.Кнопка(); Кнопка3.Родитель = Форма2; Кнопка3.Текст = "Кнопка3"; Кнопка3.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка3.Ниже(Кнопка2, 10); Форма3 = Ф.Форма(); Форма3.Текст = "Форма3"; Форма3.Отображать = Истина; Форма3.Показать(); Кнопка4 = Ф.Кнопка(); Кнопка4.Родитель = Форма3; Кнопка4.Текст = "Кнопка4"; Кнопка4.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка4.Нажатие = Ф.Действие(ЭтотОбъект, "Кнопка4_Нажатие"); Кнопка5 = Ф.Кнопка(); Кнопка5.Родитель = Форма3; Кнопка5.Текст = "Кнопка5"; Кнопка5.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка5.Ниже(Кнопка4, 10); Кнопка6 = Ф.Кнопка(); Кнопка6.Родитель = Форма3; Кнопка6.Текст = "Кнопка6"; Кнопка6.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка6.Ниже(Кнопка5, 10); Сообщить("Ф.КоллекцияФорм.Количество = " + Ф.КоллекцияФорм.Количество); Для Каждого форма Из Ф.КоллекцияФорм Цикл Сообщить("Текст формы = " + форма.Текст); КонецЦикла; Для А = 0 По Ф.КоллекцияФорм.Количество - 1 Цикл Сообщить("Форма с индексом " + А + " - " + Ф.КоллекцияФорм.Получить(А).Текст); КонецЦикла; ФормаСЭлементами = Ф.КоллекцияФорм.Получить(1); Сообщить("Количество элементов на форме = " + ФормаСЭлементами.ЭлементыУправления.Количество); Для Каждого элемент Из ФормаСЭлементами.ЭлементыУправления Цикл Сообщить("Текст элемента = " + элемент.Текст); КонецЦикла; Ф.ЗапуститьОбработкуСобытий();

Тестовый код

Копировать     Выделить всё

Процедура Кнопка1_Нажатие() Экспорт Сообщить("Кнопка1_Нажатие"); КонецПроцедуры Процедура Кнопка4_Нажатие() Экспорт Сообщить("Кнопка4_Нажатие"); КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Текст = "Форма1"; Форма1.Отображать = Истина; Форма1.Показать(); Форма2 = Ф.Форма(); Форма2.Текст = "Форма2"; Форма2.Отображать = Истина; Форма2.Показать(); Кнопка1 = Ф.Кнопка(); Кнопка1.Родитель = Форма2; Кнопка1.Текст = "Кнопка1"; Кнопка1.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка1.Нажатие = Ф.Действие(ЭтотОбъект, "Кнопка1_Нажатие"); Кнопка2 = Ф.Кнопка(); Кнопка2.Родитель = Форма2; Кнопка2.Текст = "Кнопка2"; Кнопка2.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка2.Ниже(Кнопка1, 10); Кнопка3 = Ф.Кнопка(); Кнопка3.Родитель = Форма2; Кнопка3.Текст = "Кнопка3"; Кнопка3.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка3.Ниже(Кнопка2, 10); Форма3 = Ф.Форма(); Форма3.Текст = "Форма3"; Форма3.Отображать = Истина; Форма3.Показать(); Кнопка4 = Ф.Кнопка(); Кнопка4.Родитель = Форма3; Кнопка4.Текст = "Кнопка4"; Кнопка4.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка4.Нажатие = Ф.Действие(ЭтотОбъект, "Кнопка4_Нажатие"); Кнопка5 = Ф.Кнопка(); Кнопка5.Родитель = Форма3; Кнопка5.Текст = "Кнопка5"; Кнопка5.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка5.Ниже(Кнопка4, 10); Кнопка6 = Ф.Кнопка(); Кнопка6.Родитель = Форма3; Кнопка6.Текст = "Кнопка6"; Кнопка6.Границы = Ф.Прямоугольник(10, 10, 180, 30); Кнопка6.Ниже(Кнопка5, 10); // Сообщить("Ф.КоллекцияФорм.Количество = " + Ф.КоллекцияФорм.Количество); Для Каждого форма Из Ф.КоллекцияФорм Цикл // Сообщить("Текст формы = " + форма.Текст); КонецЦикла; Для А = 0 По Ф.КоллекцияФорм.Количество - 1 Цикл // Сообщить("Форма с индексом " + А + " - " + Ф.КоллекцияФорм.Получить(А).Текст); КонецЦикла; ФормаСЭлементами = Ф.КоллекцияФорм.Получить(1); // Сообщить("Количество элементов на форме = " + ФормаСЭлементами.ЭлементыУправления.Количество); Для Каждого элемент Из ФормаСЭлементами.ЭлементыУправления Цикл // Сообщить("Текст элемента = " + элемент.Текст); КонецЦикла; Сообщить(?( Ф.КоллекцияФорм.Количество > 1 , "", "!!! ") + "ФормыДляОдноСкрипта.КоллекцияФорм (OneScriptForms.FormsCollection) Свойство" + " " + ТекущаяДата());

Смотрите также

ФормыДляОдноСкрипта (OneScriptForms) Класс | Библиотека OneScriptForms