powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / из модальной формы к объектам MDI приложения
7 сообщений из 7, страница 1 из 1
из модальной формы к объектам MDI приложения
    #32518613
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
открываю в MDI приложении из подчиненной формы модальную, и из модальной не могу
обратится к элементам той подчиненной формы
по ссылке на ту форму не находит
помогите примером
...
Рейтинг: 0 / 0
из модальной формы к объектам MDI приложения
    #32518894
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
' Код в форме из которой вызывается модальный диалог пусть например MainForm
Dim f as ModalForm = new ModalForm()
f.ShowDialog(Me)

' Код уже из модальной формы
Dim mainForm as MainForm = CType(f.Owner, MainForm)
...
Рейтинг: 0 / 0
из модальной формы к объектам MDI приложения
    #32518897
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не дописал

Теперь можешь обращаться к элементам подчиненной формы в этом примере это mainForm
...
Рейтинг: 0 / 0
из модальной формы к объектам MDI приложения
    #32519181
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если делать как ты написал, то в модальной форме
Dim mainForm as MainForm = CType( f .Owner, MainForm)
ругается name "f" is not declared

я добавил в модальной так
Dim f As MainForm
Dim mainForm as MainForm = CType(f.Owner, MainForm) тогда при выполнении ругается:
В экземпляре объекта не задана ссылка на объект.
...
Рейтинг: 0 / 0
из модальной формы к объектам MDI приложения
    #32519189
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очепятка
Код: plaintext
1.
2.
3.
4.
5.
' Код в форме из которой вызывается модальный диалог пусть например MainForm
Dim f as ModalForm = new ModalForm()
f.ShowDialog(Me)
' Код уже из модальной формы
Dim mainForm as MainForm = CType(Me.Owner, MainForm) // Вот так надо
...
Рейтинг: 0 / 0
из модальной формы к объектам MDI приложения
    #32519239
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Невыйдет так для модальной...
сделай в модальной форме примерно такую функцию
Код: plaintext
1.
2.
3.
4.
5.
    Friend Function AddText(ByRef strF As String) As Boolean
        ShowDialog()
        strF = Me.TextBox1.Text
        ...
        Return True
    End Function
а из подчиненной так делай вызов и получение
Код: plaintext
1.
2.
3.
4.
        Dim f as ModalForm = new ModalForm()
        Dim strF As String
        If f.AddText(strF) Then
            Me.TextBox2.Text = strF
        End If
...
Рейтинг: 0 / 0
из модальной формы к объектам MDI приложения
    #32519337
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Невыйдет так для модальной...
Однако работает...

Этот метод является наиболее универсальным, так как позволяет обращаться к любым элементам форм(конечно при наличии как минимум модификатора Friend) и к любому количеству форм в случае Mdi.

Ключевая строка - f.ShowDialog(Me). Где Me в простом случае является владельцем модальной формы. Тоесть Owner = вернет форму вызвавшей диалог. Но не в простейшем случае когда мы имеем дело с MDI Owner вернет главную форму, но доступ легко осуществить стандартно через коллекцию MdiChildren и к любым формам из этой коллекции ( то есть можно например менять текст одновременно в двух - и т.д формах)

Если что то непонятно могу приведу маленький пример
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / из модальной формы к объектам MDI приложения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]