Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.12.2016
Сообщений: 2
.NET 4.x

Отсутствует программно созданная форма в списке Application.Openforms

27.12.2016, 15:36. Показов 904. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

В процессе выполнения программы на VB.Net создаю форму со свойством ShowItTaskBar = False. Затем пытаюсь заблокировать ее повторное создание поиском ее в Application.Openforms. А ее там нет!
Кто-нибудь сталкивался с подобным? На одном иностранном форуме обнаружил схожую тему, но результата исправления такого косяка не нашел.

Добавлено через 3 часа 8 минут
Если интересно, решил проблему костылями: добавил boolean переменную, проверяя которую программа выходит из процедуры создания формы. Она же сбрасывается, когда это необходимо, после чего процедура создания формы срабатывает.
Однако это кривое исполнение, поэтому оно приемлемо для маленького проекта или проекта с небольшим количеством подобных ситуаций. Если Вы знаете более универсальное решение, напишите, пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.12.2016, 15:36
Ответы с готовыми решениями:

Почему не закрывается по таймеру форма, созданная программно
Привет. Помогите разобраться. Почему форма, созданная из кода, не желает закрываться именно в таймере? Form trayForm = new Form(); ...

Application.OpenForms и ООП
Буквально на этой неделе узнал про такую конструкцию, которая позволяет обратиться к любой форме приложения в обход всяких там event'ов,...

Application.OpenForms сокращение
Дорогие программисты нужна помощь в сокращение и оптимизации кода есть такое дело есть 8 форм с тестом и 8 форм с итоговым сообщением...

2
1548 / 1521 / 325
Регистрация: 03.10.2012
Сообщений: 1,551
28.12.2016, 12:41
Цитата Сообщение от badmoon Посмотреть сообщение
А ее там нет!
Возможно, вы не присвоили новой форме имя

VB.NET
1
2
3
4
5
6
7
8
Dim f As New Form
        f.Name = "NewForm"
        f.ShowInTaskbar = False
        f.Show()
        MsgBox(Application.OpenForms.Count)
        For Each frm As Form In Application.OpenForms
            MsgBox(frm.Name)
        Next
1
0 / 0 / 0
Регистрация: 27.12.2016
Сообщений: 2
28.12.2016, 15:30  [ТС]
Спасибо!
Невероятно, что такая ерунда оказалась ответом. Я практически никогда не называю динамические объекты, особенно формы, и все прекрасно работает. В моей программе есть еще 2 формы, без имени, но в таксбаре они видны. И в списке форм они тоже есть.

Добавлено через 2 часа 21 минуту
Похоже, я поспешил с выводами.
Создаю форму следующей строкой:

VB.NET
1
Dim myForm As New Form With {.Name = "myForm", .TopMost = True, .WindowState = FormWindowState.Normal, .StartPosition = FormStartPosition.Manual, .Visible = True, .FormBorderStyle = Windows.Forms.FormBorderStyle.None, .MinimizeBox = False, .MaximizeBox = False, .ShowInTaskbar = False, .BackColor = Color.Yellow}
Ее нет в Application.OpenForms.

Добавлено через 7 минут
Разобрался. Почему-то весь этот набор свойств конфликтует с .Visible = True. Убрал - форма появилась.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.12.2016, 15:30
Помогаю со студенческими работами здесь

Как добавить форму в коллекцию Application.OpenForms?
Друзья добрый день. Использую такой метод: private void button1_Click(object sender, System.EventArgs e) { long count; Form2...

Программно созданная таблица в datagridview
И так я создал программно таблицу в datagridview теперь вопрос как перевести все данные из нее по строчно и засунуть в запрос ? По...

Не работает кнопка, созданная программно
Всем привет. Недавно начал изучать javascript. Работаю c API Яндекс Карт. Они пользуются библиотекой jQuery, так что я тоже решил...

Созданная форма не активна
В созданной 2 форме операции не активны, кнопки и др. не работают. Delphi XE, помогите не знаю в чем проблема.

не открывается созданная форма=(
Пишу небольшую программку на диплом, в ней много разных форм. обычно открываю их через view form - выбираю нужную мне форму кликаю по ней -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru