Отмена закрытия формы

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
jSergey
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 01.09.2005 (Чт) 6:34

Отмена закрытия формы

Сообщение jSergey » 08.09.2005 (Чт) 7:26

Как сделать чтобы при щелчке левой кнопкой мыши по крестику в правом верхнем
углу формы выдавался запрос на закрытие формы и, в случае отрицательного на
него ответа, форма НЕ ЗАКРЫВАЛАСЬ, т.е.:

Код: Выделить всё
Private Sub Form_Unload(Cancel As Integer)
    If MsgBox("Вы действительно хотите выйти из программы?", vbYesNo + _
          vbApplicationModal + vbDefaultButton2 + vbInformation, _
          "Завершение работы") = vbNo Then

        ...
        Что тут должно быть?
        ...

    Else
        Unload Me
    End If
End Sub

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 08.09.2005 (Чт) 7:27

Код: Выделить всё

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'твой код
End Sub
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Отмена закрытия формы

Сообщение tyomitch » 08.09.2005 (Чт) 8:17

jSergey писал(а):Как сделать чтобы при щелчке левой кнопкой мыши по крестику в правом верхнем
углу формы выдавался запрос на закрытие формы и, в случае отрицательного на
него ответа, форма НЕ ЗАКРЫВАЛАСЬ


Код: Выделить всё
Private Sub Form_Unload(Cancel As Integer)
    If MsgBox("Вы действительно хотите выйти из программы?", vbYesNo + _
          vbApplicationModal + vbDefaultButton2 + vbInformation, _
          "Завершение работы") = vbNo Then

        ...
        Cancel = True
        ...

    Else
        'Тут ничего не надо.
    End If
End Sub
Изображение

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Открыть закрытую форму

Сообщение kminas » 22.02.2006 (Ср) 21:49

А как сделать так, чтобы закрытая форма снова открылась?

Я создал форму, в которую пользователь будет заносить данные,
а, оттуда они будут вставляться в таблицу в Word-е. Она будет закрывать таблицу, которую пользователю нужно видеть. Можно конечно форму сворачивать и разворачивать, сужать и растягивать. А можно ли сделать так, чтобы пользователь, закрыв ее, мог в нужный момент открыть?
Константин

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 22.02.2006 (Ср) 22:00

Не выгружай форму, а скрывай ее:
Код: Выделить всё
Me.Hide
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 22.02.2006 (Ср) 23:12

Т.е. подвязать эту процедуру на кнопку? А потом как вызвать, командой
Код: Выделить всё
Me.Show
И куда вывести эту кнопку? Прямо на панель Word-а?
Константин

Vladimir!
Обычный пользователь
Обычный пользователь
 
Сообщения: 88
Зарегистрирован: 19.09.2005 (Пн) 21:47
Откуда: Пермь

Сообщение Vladimir! » 22.02.2006 (Ср) 23:39

Можно использовать горячие клавиши

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 23.02.2006 (Чт) 0:02

Спасибо!
Константин


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: SemrushBot и гости: 77

    TopList