найти форму

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

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

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

найти форму

Сообщение kroskros » 31.03.2006 (Пт) 8:16

:oops:
Подскажите, пожалуйста:

Создал кнопку в тулбаре, по которой открывается новое окно.
Если нажать кнопку еще раз, то открывается еще один экземпляр окна.
Как этого избежать?
Т.е. хотелось бы, чтобы при повторном нажатии кнопки, поднималось уже открытое окно.

с уважением,
Max

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 31.03.2006 (Пт) 9:20

создавать объект новой формы в Form_load

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 31.03.2006 (Пт) 9:22

Код: Выделить всё
Private F as Form2
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
F=New Form2
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
F.Show
End sub

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 31.03.2006 (Пт) 9:39

Логично...

Спасибо! :)


Хотя...
В этом случае, при закрытии этой формы прийдется ее прятать
(hide = true), либо перехватывать событие закрытия и опять же ПРЯТАТЬ.
А если просто закрывать, то при повторном кнопки нажатии программа обижается и говорит, что не может Show задиспозинный объект.

В принципе, предложенный вариант приемлемый, но не хочется держать в памяти невидимые объекты.. тем более что кнопок в тулбаре у меня еще много будет.. )

Задача-то в том, что если эта форма в процессе работы оказалась свернутой или закрыта другими формами, то ее активировать.
КАК узнать есть ли данная форма??
ну типа... если Form.IsExist = true тогда...
вот чего хотелось бы...

Вернее даже так: если (экземпляр данного класса существует) то....
хмм... похоже на бред, да?
Max

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 31.03.2006 (Пт) 10:47

Кто тебе мешает создать у формы прпереть (Shared) в которую будешь записываать количество запущеных экземпляров? Если оно больше 0 тогда активизируешь запущеную форму

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 31.03.2006 (Пт) 11:04

Ага, так и сделаю...
еще, наверно, можно соорудить глобальное свойство класса Counter

спасибо. подумаю

просто думал, может есть какое-нить свойство/метод класса... или еще как..
Max

mdx
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 169
Зарегистрирован: 06.01.2006 (Пт) 18:13
Откуда: I'm from Russia!

Сообщение mdx » 31.03.2006 (Пт) 17:15

My.Forms.Form2.Show (в vb2005). И без всяких дополнительных свойств
This posting is provided "AS IS" with no warranties, and confers no rights.

Изображение

temur
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.02.2005 (Чт) 21:17
Откуда: Georgia

Сообщение temur » 01.04.2006 (Сб) 9:45

Такой вариант устроит?
Вложения
WindowsApplication2.rar
Пример:
(30.02 Кб) Скачиваний: 54

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 03.04.2006 (Пн) 8:06

О! то, что нужно! )))
как работает, еще не понял, но РАБОТАЕТ! ;)))

СПАСИБО!
Max


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

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

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

    TopList