VB.net работа с формами

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Ch1ll
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 25.03.2003 (Вт) 19:44

VB.net работа с формами

Сообщение Ch1ll » 25.03.2003 (Вт) 20:05

Как в vb.net обратиться из модуля к объектам формы или из формы2 к объектам формы1 (сначала загружается форма1)?

Aquarius
Постоялец
Постоялец
 
Сообщения: 692
Зарегистрирован: 04.11.2002 (Пн) 13:13
Откуда: Russia

Сообщение Aquarius » 25.03.2003 (Вт) 21:06

Делаешь типа этого

в перфой форме объявляешь объект второй формы

dim frm2 as new Form2

в нужном месте её отображаешь

frm2.show

Доступ к объектам осущ. так

frm2.Object_name.Property
(Всем изучать ASSEMBLER)
www.Wasm.ru, www.FlatAssembler.Net

Ch1ll
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 25.03.2003 (Вт) 19:44

Сообщение Ch1ll » 25.03.2003 (Вт) 23:23

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

private sub form2_click () (это просто абстрактный пример)
form1.object_name.proprty
end sub

вот, но так не получается, к сожалению, поэтому и спрашиваю.

Aquarius
Постоялец
Постоялец
 
Сообщения: 692
Зарегистрирован: 04.11.2002 (Пн) 13:13
Откуда: Russia

Сообщение Aquarius » 26.03.2003 (Ср) 8:06

Дайка я постараюсь тебе кое что объяснить. Если в VB6 имя формы одновременно являлось менем ее первого объекта то в VB7 это не так.

Иначе говоряв 6-й версии при создании формы ты мог из любого места обратиться к ее объектам так как ты показад

Form_Name.Object_Name.Property

в седьмой версии это не катит. Так как создание формы является лишь созданием класса формы. И чтобы получить доступ к объектам формы нужно сначала создать саму форму.

Если что не так постарайся сформулировать свой вопрос более четко.
(Всем изучать ASSEMBLER)
www.Wasm.ru, www.FlatAssembler.Net

Aquarius
Постоялец
Постоялец
 
Сообщения: 692
Зарегистрирован: 04.11.2002 (Пн) 13:13
Откуда: Russia

Сообщение Aquarius » 26.03.2003 (Ср) 8:09

А если тебе надо обращаться к объектам формы из любого места(нпр. из модуля) то придется создать глобальный объект второй форме. То.е. в каком нибудь Public модуле делаешь так

Public frm2 as new form2
(Всем изучать ASSEMBLER)
www.Wasm.ru, www.FlatAssembler.Net

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Спасибо

Сообщение SmarT » 15.05.2003 (Чт) 20:51

А я вот тока начал изучать, сделал часики прикольные :-)
Они всегда выше всех и прозрачные на 80% :-), на них мышу наводишь они становятся непрозрачными, а уводишь - и опять прозрачные :-))))

Thnx за показ формы
http://smarticq.net - Все про и для ICQ.

Edward
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 14.08.2002 (Ср) 11:54
Откуда: Москва

Re: Спасибо

Сообщение Edward » 20.05.2003 (Вт) 13:21

SmarT писал(а):А я вот тока начал изучать, сделал часики прикольные :-)
Они всегда выше всех и прозрачные на 80% :-), на них мышу наводишь они становятся непрозрачными, а уводишь - и опять прозрачные :-))))

Thnx за показ формы


Привет .
А пример то можно ??? :D :D :D :D :D
Если не трудно конечно :lol: :lol: :lol: :lol: :lol:
Удачи.
Эдуард.

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 20.05.2003 (Вт) 21:10

А мыло дай, я вышлю...
http://smarticq.net - Все про и для ICQ.

Edward
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 14.08.2002 (Ср) 11:54
Откуда: Москва

Сообщение Edward » 21.05.2003 (Ср) 9:34

edhome@yandex.ru
Просто толковых примеров мало.
А тут я так понимаю есть чему поучиться. :D :D :) :)
Спасибо большое.
Удачи.
Эдуард.

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 21.05.2003 (Ср) 18:02

Да не за что, собственно!
Кому-нить еще выслать ? :-)
http://smarticq.net - Все про и для ICQ.

mIK
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.06.2003 (Чт) 23:07
Откуда: Riga

Сообщение mIK » 12.06.2003 (Чт) 0:05

esli netrudno, plz sjuda: usd@navigator.lv

Elmer
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 12.02.2002 (Вт) 2:19
Откуда: Russia

Сообщение Elmer » 11.11.2003 (Вт) 21:08

и суда! %) Elmerik@inbox.ru

moderator
Модератор
Модератор
 
Сообщения: 1896
Зарегистрирован: 10.12.2001 (Пн) 18:11
Откуда: Украина, Харьков

Сообщение moderator » 11.11.2003 (Вт) 21:17

Elmer писал(а):и суда! %) Elmerik@inbox.ru


Все "исюдаканье" переходит в приват. ОК?
Модератор
http://www.vbstreets.ru / moderator@vbstreets.ru

... Почетные награды: [*], [+], [!]. Все еще впереди...

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 12.11.2003 (Ср) 16:22

И вообще, кнопка Присоединить, зачем нужна?
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 12.11.2003 (Ср) 23:52

Ну раз такое дело :)
Вложения
smtclock.zip
Исходники часов
(68.18 Кб) Скачиваний: 208
http://smarticq.net - Все про и для ICQ.

G-Hacker-2
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 12.08.2003 (Вт) 9:13
Откуда: Из далека, отсюда не видно...

Сообщение G-Hacker-2 » 16.01.2004 (Пт) 18:41

Собственно говоря, по теме.
Любая форма является классом:
Public Class Form1
***
End Class

А следовательно, в любом другом классе ты ее можешь увидеть:
Public Form1 as new Form1-описания класса
Dim Form1 as New Form1-описания процедуры

А далее с переменной Form1 делай что хочешь!!! :wink:

Да, еще немного. Если слово Public заменить на Private или на Friend, то данный фокус уже не прокатит! :)

alsadykov
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 14.01.2004 (Ср) 19:05
Откуда: почти Екатеринбург

Сообщение alsadykov » 16.01.2004 (Пт) 20:21

я бы сделал вот так:
1. Создаем форму1
2. Создаем из нее экземпляр формы2
3. Передаем форме2 ссылку на форму1. Для этого в классе формы2 объявляем переменную типа Form. Передачу осуществляем либо перегрузкой конструктора New либо присвоением значения свойству формы2 (типа Form2.linktoform=Me).

такое вот предложение.

G-Hacker-2
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 12.08.2003 (Вт) 9:13
Откуда: Из далека, отсюда не видно...

Сообщение G-Hacker-2 » 17.01.2004 (Сб) 13:33

А смысл :?:
По-моему немного сложновато, а если я понял то форма1 будет в 2 экземплярах. Первый это для создания формы2, а второй в форме2 для работы с формой1
Если нужно из формы2 управлять формой1, то не проще ли это делать в форме1 на основе результатов формы2 :?:

alsadykov
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 14.01.2004 (Ср) 19:05
Откуда: почти Екатеринбург

Сообщение alsadykov » 17.01.2004 (Сб) 20:56

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

Vladlex
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 12.02.2008 (Вт) 16:01
Откуда: Владивосток

Re: VB.net работа с формами

Сообщение Vladlex » 12.02.2009 (Чт) 12:24

А можно еще раз и помедленнее мне, дураку? :)
Вот у меня есть форма и модуль, допустим from1 и module1 соответственно
Форма грузится изначально. Как обратиться к ее компоненту из модуля?
На примере конкретного кода можно показать?
Человек - дитя препятствий. Блан де Сент-Бонне.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: VB.net работа с формами

Сообщение Viper » 12.02.2009 (Чт) 14:43

В двадцатый (а может и стодвадцатый) раз повторяю медленно:
1. Объявляется переменная нужного уровня доступа
Код: Выделить всё
Public pForm As Form1
2. В Sub Main создается экземпляр формы
Код: Выделить всё
pForm = New Form1
3. В необходимой точке кода (хотя бы и сразу после создания экземпляра) форма отображается
Код: Выделить всё
pForm.Show
4. Далее в любом месте кода к экземпляру данной формы можно обращаться через pForm.
Весь мир матрица, а мы в нем потоки байтов!

Vladlex
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 12.02.2008 (Вт) 16:01
Откуда: Владивосток

Re: VB.net работа с формами

Сообщение Vladlex » 13.02.2009 (Пт) 5:13

Почти получилось. Теперь контрольный выстрел... ))
После загрузки формы кончается sub main и программа скоропостижно завершает свою работу. А мне нужно чтобы форма жила и процветала.
Умом (или его имитатором) я понимаю, что это смешно читать, но.. как это сделать? :oops:

P.S. Будет ли разумным использование form.showdialog ?
Работать - работает, но является ли правильным? :)
Человек - дитя препятствий. Блан де Сент-Бонне.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: VB.net работа с формами

Сообщение Viper » 13.02.2009 (Пт) 8:18

Vladlex писал(а):Почти получилось. Теперь контрольный выстрел... ))
После загрузки формы кончается sub main и программа скоропостижно завершает свою работу. А мне нужно чтобы форма жила и процветала.
В Sub Main вставь вызов Application.Run(pForm) и все заработает как надо.
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 76

    TopList