Скрытие формы

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

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

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Скрытие формы

Сообщение dr.MIG » 14.02.2009 (Сб) 19:09

Как лучше всего организовать отображение форм в следующей ситуации: есть главная форма frmMain, из неё должна открываться модальная форма frmEdit.
Можно конечно сделать так
Код: Выделить всё
        Dim frmMyEdit As New frmEdit
        frmMyEdit.ShowDialog()

Но меня терзают некоторые сомнения по поводу быстродействия, так как на frmEdit есть Грид, в котором отображается некоторая информация. Не оптимальнее было бы просто скрывать эту форму, когда она не нужна? Но тут возникают проблемы, связанные с тем, что при использовании метода ShowDialog() происходит событие frmEdit_Load, в котором Грид как раз и заполняется, а если сделать frmMyEdit.Visible=True, то события frmEdit_Load не происходит, но форма появляется немодальная.
Salus populi suprema lex

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Скрытие формы

Сообщение iGrok » 14.02.2009 (Сб) 19:35

Первая же мысль - ставить на уровне формы (frmMyEdit) флаг заполненности грида, и проверять его в Form_Load.
label:
cli
jmp label

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Скрытие формы

Сообщение Williams » 14.02.2009 (Сб) 20:14

Может быть Fill вынести в отдельную процедуру и вызывать по мере необходимости?
И вы думаете, что вас оставят в живых после прочтения этого поста?

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Скрытие формы

Сообщение dr.MIG » 15.02.2009 (Вс) 15:40

Впринципе да, можно вынести в отдельную процедуру и вызывать её, если грид ещё не заполнен. Просто сбило с толку такое поведение -- вроде форма загружена, однако при вызове ShowDialog происходит событие Load, что для VB6 в случае вызова метода Show для скрытой формы не характерно.
Salus populi suprema lex

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Скрытие формы

Сообщение Sebas » 16.02.2009 (Пн) 9:29

Williams писал(а):Может быть Fill вынести в отдельную процедуру и вызывать по мере необходимости?


+1

Код: Выделить всё
Using  frmMyEdit As New frmEdit
        frmMyEdit.LoadData
        frmMyEdit.ShowDialog()
End Using
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


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

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

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

    TopList  
cron