Формы в VB.NET
Private Sub Form1_Load(...) handles mybase.load
dim f1 as New Form1()
dim f2 as New Form2()
f1.show()
f2.show()
End Sub
Как мне обратиться из f2 к елементам формы f1?
Например, чтоб по нажатию кнопки в f2 изменялась свойство text лейбе формы f1.
К примеру, по запуску приложения создается две формы:
Private Sub Form1_Load(...) handles mybase.load
dim f1 as New Form1()
dim f2 as New Form2()
f1.show()
f2.show()
End Sub
Как мне обратиться из f2 к елементам формы f1?
Например, чтоб по нажатию кнопки в f2 изменялась свойство text лейбе формы f1.
Обращаться к элементам другой формы надо через название(перемен.) их формы, т.е.: UserFom1.TextBox1.Text="ля-ля" и UserFom2.TextBox1.Text="ля-ля" проблем быть не должно, только вот ....
В Excel у тебя такое обращение может не работать, потому что при написании строки:
UserForm1.Show
по умолч. подразумевается - UserForm1.Show vbModal, т.е. окна загружаются модально и пока с ним ты не закончишь работать, в другом ничего не произойдет..., а вот если ты загрузишь формы немодально...:
UserForm1.Show vbModeless
UserForm2.Show vbModeless
эти строки можно вставлять в любое место программы:
UserForm1.TextBox1.Text = "hi"
UserForm2.TextBox1.Text = "hi"
(vbModeless - этой константы нет в Office98, там все окна модальные)
Обращаться к элементам другой формы надо через название(перемен.) их формы, т.е.: UserFom1.TextBox1.Text="ля-ля" и UserFom2.TextBox1.Text="ля-ля" проблем быть не должно, только вот ....
В Excel у тебя такое обращение может не работать, потому что при написании строки:
UserForm1.Show
по умолч. подразумевается - UserForm1.Show vbModal, т.е. окна загружаются модально и пока с ним ты не закончишь работать, в другом ничего не произойдет..., а вот если ты загрузишь формы немодально...:
UserForm1.Show vbModeless
UserForm2.Show vbModeless
эти строки можно вставлять в любое место программы:
UserForm1.TextBox1.Text = "hi"
UserForm2.TextBox1.Text = "hi"
(vbModeless - этой константы нет в Office98, там все окна модальные)
Формы UserForm1 и UserForm2 надо объявлять как PUBLIC в Form1?
Ты открываешь готовые формы или хочешь создать динамическим образом форму?
В первом случае проблем не должно быть, пиши: НазваниеФормы.НазваниеЭлемента.Свойства - это уникальным образом обозначает каждый из элементов всех форм.
Во втором случае на эту форму надо бы еще и элементы разместить...
Какой у тебя код?
Ты открываешь готовые формы или хочешь создать динамическим образом форму?
В первом случае проблем не должно быть, пиши: НазваниеФормы.НазваниеЭлемента.Свойства - это уникальным образом обозначает каждый из элементов всех форм.
Во втором случае на эту форму надо бы еще и элементы разместить...
У меня есть три формы:[COLOR=red]Form1,Form2 и Form3[/COLOR].
В Form1 я пишу:
----------------------------
Public f2 as new Form2()
Public f3 as new Form3()
Private Sub Form1Load(...)...
f2.show()
End Sub
----------------------------
В Form2 есть кнопка Button1. Так вот мне надо чтоб по нажатию кнопки открывалась f3:
Private Sub Button1Click(...)...
f3.show()
End Sub
Но f3.show() не работает. Наверное потому-что f2 не видит PUBLIC f3 as new Form2() объявленую в Form1. Пробовал также в Form2: Imports myprog.Form1. Обязательно создавать экземпляр формы?
--------------------
public f2 as Form1
Private Sub Button1Click(...)...
f2.show()
End Sub
--------------------