Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Child Form / 6 сообщений из 6, страница 1 из 1
19.04.2007, 11:54
    #34472178
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Child Form
Господа, здравствуйте !!!

Такая ситуация.
Имеется MDI приложение.
Пользователь свернул дочернию форму внизу и пытается открыть эту же форму.
Как сообщить ему, что такая форма уже существует ???

Спасибо.
...
Рейтинг: 0 / 0
19.04.2007, 12:05
    #34472231
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Child Form
Галантно )).

А может просто развернуть ту же форму?
...
Рейтинг: 0 / 0
19.04.2007, 13:30
    #34472613
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Child Form
Дело в том, что пользователь открывает журнал данных
и выбирает из него что-то ...
Естественно в свернутой формы попадает совсем другая информация,
а старая в свою очередь исчезает !!!
А это катастрофа...
...
Рейтинг: 0 / 0
19.04.2007, 14:38
    #34472934
Nikz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Child Form
1
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
'в модуле
Public childFormOpened As Boolean

'в childForm
Private Sub Form_Load()
childFormOpened = True
End Sub

Private Sub Form_Unload(Cancel As Integer)
childFormOpened = False
End Sub

'в процедуре выбора из журнала
...
If childFormOpened then
    MsgBox "Дочерняя форма открыта"
    Exit Sub
EndIf
'ниже открываем дочернюю форму
...
2
открывать childForm модально, что бы юзер не мог делать ничего кроме работы с этой формой (на правах бреда...)
3
Код: plaintext
1.
2.
3.
4.
5.
6.
'в процедуре выбора из журнала
...
'создаем новый экземпляр childForm, не убивая ранее открытый
Dim frmForm as new childForm
frmForm.Show
...
лично я обычно поступаю по третьему пути, потому что MDI вроде как предполагает что дочерние окна могут быть открыты в нескольких экземплярах...
...
Рейтинг: 0 / 0
19.04.2007, 14:54
    #34473013
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Child Form
Я пока решил проблему так:

Код: plaintext
1.
2.
3.
4.
5.
For Each Form In Forms
   If Form.Name = "frmDepFacRec" Then
   MsgBox "Это форма уже существует !!!", vbInformation, "Atentie"
   Exit Sub
   End If
Next Form
Согласен с Вашим 3 пунктом
Попробую разобраться

Спасибо
...
Рейтинг: 0 / 0
19.04.2007, 15:47
    #34473268
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Child Form
Возможно у вас проблемма при передачи данных в экземпляр доч.формы
у MDI формы есть свойство ActiveForm если не ошибаюсь
можно попробовать проверить так, хотя сам не проверял
в данном примере форма должна быть активной

Код: plaintext
1.
2.
3.
4.
5.
Dim frm as New Form1
If MDI.ActiveForm.Name="Form1" Then
Exit sub
Else
frm.Show
End if
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Child Form / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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