Как сослаться на объект из другой формы в VB.NET ?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Как сослаться на объект из другой формы в... Expand / Collapse
Автор
Сообщение
27.11.2003 11:06
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 05.02.2007 6:22
Сообщ.: 329, Visits: 3 602
Есть главная MDI форма. На ней помещен объект.
Запускаем подчиненную форму. Теперь из кода в подчиненной форме надо обратиться к объекту в главной форме.
В VB6 это делалось просто ИмяФормы.ИмяОбъекта
А тут это не проходит...
Сообщ. #802544
27.11.2003 19:49
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 15.04.2004 10:05
Сообщ.: 53, Visits: 584
в дочерней форме в заголовке (вверху класса формы) элемент должен быть описан как Public Shared. Например:
Public Shared bttnOpen as Button
а в событии Form_Load присвой ссылку:
bttnOpen = Button1
Сообщ. #802691
28.11.2003 5:58
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 05.02.2007 6:22
Сообщ.: 329, Visits: 3 602
Да я примерно так и поступил.
Создал переменную public типа object
В событии load присваиваю этой переменной то что мне надо,
а потом из других модулей обращаюсь к ней.
Просто я думал, что можно ссылаться как-то по-старинке.
Ведь это удобнее. Не надо ничего описывать.
Неужели нет такой возможности?
Сообщ. #802716
03.12.2003 7:43
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 04.12.2003 7:32
Сообщ.: 2, Visits: 23
Привет всем.
Задача:
нажать кнопку на дочерней форме.
Получить: на кнопке родительской формы отобразить текущее время.

Имя формы-контейнера - "Form1".
Имя формы-дочери - "Form2".

Вызываем дочернюю форму из Form1
(на Form1 содержится кнопка "Button1")
(на Form2 содержится кнопка "Button2")


Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
' запуск дочерней формы
Dim frm as Form2
frm.MdiParent = Me
frm.Show()
end sub


На дочерней форме кликаем кнопку "Button2" для получения результата:

Private Sub Button2_Click(ByVal sender As System.Object,
_ByVal e As System.EventArgs) Handles Button2.Click
' отобразить на кнопке родительской формы текущее время
CType(Me.ParentForm, Form2).Button1.Text = Now.ToShortTimeString
End Sub


Удачи!
Сообщ. #803181
03.12.2003 7:47
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 04.12.2003 7:32
Сообщ.: 2, Visits: 23
Немного я просмотрел... Sorry!


Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
' отобразить на кнопке родительской формы текущее время
CType(Me.ParentForm, Form1).Button1.Text = Now.ToShortTimeString
End Sub
Сообщ. #803182
03.12.2003 7:54
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 05.02.2007 6:22
Сообщ.: 329, Visits: 3 602
Не прозрачно это все.
Но в принципе это таже выход.
Хотя оба метода это все равно, что чесать правой рукой левое ухо.
Почему убрали такую возможность которая была в VB6? (вопрос чисто реторический)
Сообщ. #803183
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 5:08