2016-11-28 10 views
1

Мне нужно открыть вторую форму и разместить ее в определенном месте в первой открытой форме.Поставьте форму на форму в vb6

Объяснение: Я добавил панель в исходную форму и, когда я устанавливал элементы управления, я получил сообщение о том, что я не могу добавить никаких элементов управления. Итак ...

Существует существующая панель, которую мне нужно прикрыть второй формой и оставить ее закрытой, даже если оригинальная форма перетаскивается по экрану. Вторая форма будет охватывать его, но мне нужно знать, как разместить ее в отношении первой формы.

Единственные ссылки, которые я могу найти, это как разместить его на экране, а не в другой форме.

+3

Боже, милостиво ... Сколько элементов управления вы добавляли? Есть причина, почему эти ограничения существуют; они не просто произвольны. Попытка обойти их, создавая несколько форм, просто создаст очень неаккуратное приложение. Не рекомендуется. Кроме того, вы столкнетесь с множеством проблем с упорядочением Z, связью между формами и т. Д. Что делают все эти элементы управления? Вероятно, есть лучший способ сделать это, но я не могу рассуждать о том, что может быть без дополнительной информации. –

+0

Я унаследовал эту программу. Он старый, громоздкий и очень запутанный. Я полностью согласен с вами, но не вижу хорошего решения проблемы. – Obfuscated

ответ

3

Существует, конечно, простой способ сделать это (форма не может содержать другую форму). Предел, с которым вы столкнулись, - это максимальное количество именованных элементов управления, которые вы можете иметь в форме (254, см. https://msdn.microsoft.com/en-us/library/aa240865(v=VS.60).aspx).

Однако контрольный массив только один раз проверяет этот предел. Поэтому вместо добавления нового элемента управления (например, текстовых полей) для каждого поля ввода добавьте их как новые элементы массива текстовых полей. Разница в коде заключается в том, что вы будете ссылаться на текстовые поля по индексу вместо уникального имени (вы можете использовать константы в качестве параметров индекса для идентификации разных полей ввода, таких как имя, адрес и т. Д.).