Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для Gelo123321
22 / 22 / 8
Регистрация: 05.01.2012
Сообщений: 282

Программно задать родительскую форму

14.01.2014, 17:56. Показов 2486. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создаю собственный класс формы, столкнулся с проблемой, как сделать, что бы форма с которой вызывают мою форму, была родительской?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.01.2014, 17:56
Ответы с готовыми решениями:

Задать программно ширину столбцов DataGridView
Загружаю данные в DataGridView из Excel. Первые столбцы 0-2 всегда присутствуют им задаю в программе ширину. В Excel файлах может быть...

Как программно задать label.Location.Y?
есть Public Class Screen Private Sub Screen_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles...

Программно задать принтеру двустороннюю печать
Всем привет. Подскажите как реализовать следующую задачу. Необходимо посмотреть свойства принтера и если есть возможность двухсторонней...

12
1652 / 715 / 47
Регистрация: 11.03.2012
Сообщений: 1,855
Записей в блоге: 1
14.01.2014, 19:11
Gelo123321, применять свой класс для родительской формы, иначе вариантов не вижу.
0
 Аватар для Gelo123321
22 / 22 / 8
Регистрация: 05.01.2012
Сообщений: 282
14.01.2014, 23:04  [ТС]
Release, поподробнее, если можно.
0
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
15.01.2014, 13:05
Через WinApi?

Что вообще надо-то?
0
 Аватар для Gelo123321
22 / 22 / 8
Регистрация: 05.01.2012
Сообщений: 282
15.01.2014, 14:36  [ТС]
Qwertiy, я создаю собственный класс формы. Потом я эту форму вызываю, например из Form1, посредством нажатия на кнопку Button1. Как в моем классе прописать, что бы та форма откуда ее вызывают мою форму, становилась родительской для моей. Вот это и надо. Могу дать свой код, но там только код формы, и то зачаточный -_- без попыток сделать форму родительской.
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
15.01.2014, 15:44
VB.NET
1
2
3
4
        Dim SomeForm As New Form1
        SomeForm.TopLevel = False
        SomeForm.Parent = Me
        SomeForm.Show()
Me - текущий класс
0
 Аватар для Gelo123321
22 / 22 / 8
Регистрация: 05.01.2012
Сообщений: 282
16.01.2014, 23:20  [ТС]
Памирыч, а если моя форма вызывается на с Form1, a с Form2?
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
17.01.2014, 06:09
Gelo123321, в свойствах проекта установите "Начальную форму"
0
 Аватар для Gelo123321
22 / 22 / 8
Регистрация: 05.01.2012
Сообщений: 282
17.01.2014, 18:08  [ТС]
Памирыч, а что если у моей формы будет возможность вызываться как с Form1 так и с Form2. Лучше сделать что бы при создании класса, в этом самом классе присваивалась "материнская" форма та, из которой вызывают мой класс. Но как так сделать я не представляю. Разве что, никак.
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
17.01.2014, 18:36
Я так и не понял вопроса.
Если нужно узнать, с какой формы вызвали текущую, то, боюсь, без переменных в глобальном модуле будет нелегко.

В модуле например
VB.NET
1
    Public DrinkTheCoffee As Form
Потом при вызове какой либо формы, например, третьей
VB.NET
1
2
        DrinkTheCoffee = Me
        Form3.Show()
А в загрузке этой формы (и любой)

VB.NET
1
2
3
    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Text = DrinkTheCoffee.Name
    End Sub
В заголовке формы будет имя той, с которой ее вызвали.

В общем, я не понял, что нужно )
0
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
18.01.2014, 00:08
Это точно не подходит?

VB.NET
1
YourOtherForm.ShowDialog()
Тогда так:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
Public Overloads Sub Show(Owner As Form)
  With Me
    .TopLevel = False
    .Parent = Owner
    .Show()
  End With
End Sub
 
'==========================
 
YourOtherForm.Show(Me)
1
 Аватар для Gelo123321
22 / 22 / 8
Регистрация: 05.01.2012
Сообщений: 282
19.01.2014, 16:29  [ТС]
Qwertiy, при вызове моей формы методом MeForm.Show(Me) она оказывается вросшей в Form1 о_О.
Мне надо что бы моя форма, брала значения например, цвета BackColor в родительской форме и устанавливала себе при вызове, или при вызове располагалась по центре своей формы "матери" (StartPosition = FormStartPosition.CenterParent). И для этого я придумал сделать для нее родительскую форму ту, из которой вызывают мою форму. То есть неважно вызвали ли мою MeForm из Form1, или Form2, каждый раз она как бы будет разная (должна быть) так как будет брать цвет и прочие свойства из той формы из которой ее вызывают.

Возможно это можно сделать как то и по другому, но как, я еще не придумал.

Надеюсь понятно объяснил...

Добавлено через 2 часа 2 минуты
Qwertiy, безусловно в вашем коде кроется разгадка поставленной мною задачи, но не могу понять, почему моя форма появляется "вросшей" в Form1. К тому же StartPosition = FormStartPosition.CenterParent не работает.
0
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
15.03.2014, 11:04
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Gelo123321 Посмотреть сообщение
Мне надо что бы моя форма, брала значения например, цвета BackColor в родительской форме и устанавливала себе при вызове
VB.NET
1
2
3
4
5
Public Overloads Sub Show(Owner As Form)
  With Me
    .BackColor = Owner.BackColor
  End With
End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.03.2014, 11:04
Помогаю со студенческими работами здесь

Программно задать ширину колонок DataGridView
Всем привет! Подскажите как программно задать ширину колонок DataGridView?

Программно задать ширину и высоту графическому объекту
Подскажите как программно задавать ширину и высоту графическом объекту ? На форме есть еще графические объекты кроме этого. нужно ...

Как с пом@щью дочерней формы открыть форму у родительскую форму?
Привет Всем! :) Вот я использую код KvartiraForm KvartiraForm = new KvartiraForm(); KvartiraForm.MdiParent =...

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

Обновить родительскую форму из дочерней
Привет. На 1-ой форме показываю модальное окно 2-ой формы. На 2-ой форме проделываю нужные мне манипуляции, в следствии чего, у...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru