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

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

14.01.2014, 17:56. Показов 2358. Ответов 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
1651 / 714 / 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
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 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
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 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
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 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
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru