powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / хочу TRUE, что мне делать?
15 сообщений из 15, страница 1 из 1
хочу TRUE, что мне делать?
    #33158340
Зеленая
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две формы:
Form1, Form2
На Form2 есть кнопка cmdOK

Private Sub cmdOK_Click()
' MsgBox cmdOK.Value равно TRUE
Unload Me
End Sub

В Form1 я вызываю Form2:

Private Sub mbOpen_Click()
Form2.Show vbModal
'MsgBox Form2.cmdOK.Value равно FALSE ???

End Sub

Вопрос: Почему при нажатии на кнопке cmdOK на Form2 возврате
в процедуру первой формы mbOpen_Click() Form2.cmdOK равно FALSE?
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33158479
Синий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А патамушта нет уже такой формыыыик... Вы же ее самииииик закрылииииик... ВыгрузииииКли...
Выгружать ее надо по кнопке "Отмена", а по кнопке "ОК" ее надо скрывать. Это самое-преважное...
ИзвиииииКте если што не так...
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33158539
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Clik происходит раньше MouseUp поэтому в момент срабатывания Command1_Clik кнопка пока еще утоплена.
А если запустить процедуру кнопка же отжата !
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33158816
Зеленая
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем большое! Теперь я знаю что делать.
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33158894
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WorobjoffClik происходит раньше MouseUp поэтому в момент срабатывания Command1_Clik кнопка пока еще утоплена.
А если запустить процедуру кнопка же отжата !
[OffTopic]
Интересно, что для кнопки MS Access последовательность другая:

Command1_MouseDown
Command1_MouseUp
Command1_Click
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33159331
Зеленая
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СинийА патамушта нет уже такой формыыыик... Вы же ее самииииик закрылииииик... ВыгрузииииКли...
Выгружать ее надо по кнопке "Отмена", а по кнопке "ОК" ее надо скрывать. Это самое-преважное...
ИзвиииииКте если што не так...


ИзвииииииКте тоже, НО

Делаю так:
На форме1 вызываю :
Код: plaintext
Form2.Show vbModal

Отображается окно формы2
На форме2 нажимаю кнопку cmdOK
Вот ее процедура:
Код: plaintext
1.
2.
Private Sub cmdOK_Click()
  form2.Visible = False
End Sub

В процедуре кнопки cmdOK_Click() значение cmdOk.Value = True, а
при скрытии формы2 и в возврате в форму1 form2.cmdOk.Value = False.

Извините еще раз, но
КАК МНЕ УЗНАТЬ, ЧТО НА ФОРМЕ2 НАЖАТА КНОПКА cmdOk, ПРИ ВОЗВРАТЕ В ФОРМУ1?
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33159625
Синий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дык... Это... Ну когда это... Когда форму выгрузили, то пользователь нажал "Отмена"... эх... пивка, случаем нету? ну и ладно... Ну так вот... эээээ... А когда форма была скрыта, т.е. юзер нажал "ОК", то форма еще существует...
Другими словами, чтобы понять, что нажал пользователь, Вам, Зеленая... Зеленая... Зе-ле-ная... Какой классный ник... так вот, Вам, Зеленая, необходимо просто проверить, существует ли форма или уже нет. Это стандартный общепринятый подход.
Если форма закрыта, то нажата "Отмена" и делать ничего не надо, а если открыта (но скрыта), то нажат "ОК" и Вы можете обратиться к ее контролам с целью посмотреть, если оно вам конечно надо, что там пользователь ввел и с чем он вообще согласился.
А узнать Value кнопки... Ну какое у нее может быть Валуе, если ее отпустили?
Извините, если что не так... Отходняки...
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33159781
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В форме:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Dim bCancelled As Boolean

Public Function CreateForm() as Boolean
    Me.Show  1 
    CreateForm = bCancelled 
    Unload Me
End Sub

Private Sub cmdSave_Click()
    bCancelled = False
    Me.Hide
End Sub

Private Sub cmdCancel_Click()
    bCancelled = True
    Me.Hide
End Sub

...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33160157
Зеленая
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СинийА узнать Value кнопки... Ну какое у нее может быть Валуе, если ее отпустили?

Вот, что от Вас требовалось!
А то скрыть, открыть, выгрузить, загрузить, oooo..., aaaaa..., yyyyy.
Эх Синий, Синий!
Спасибо Вам.


to Antonariy
Спасибо Вам. Идея использования переменной, видимо единственный способ узнать о нажатии кнопки.
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33160161
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю так же как Antonariy, но фиксирую факт нажатия другой кнопки -
форму же могут просто крестиком закрыть и тогда программа не должна "подумать" что нажали ОК.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim OK_Exit As Boolean

Public Function Show_ME() As Boolean
   OK_Exit = False
   Me.Show vbModal
   Show_ME = OK_Exit
   Unload Me
End Function

Private Sub btnCancel_Click()
   Me.Hide
End Sub

Private Sub btnOK_Click()
   OK_Exit = True
   Me.Hide
End Sub
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33160176
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это - пример как вернуть параметры из немодальной формы.
(меня не просят - но вдруг понадобится?)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
'это Form1
Dim WithEvents frmForm2 As Form2

Private Sub btnForm2_Click()
   If frmForm2 Is Nothing Then Set frmForm2 = New Form2
   frmForm2.Show
End Sub

Private Sub Form_Unload(Cancel As Integer)
   If Not frmForm2 Is Nothing Then
      Unload frmForm2
      Set frmForm2 = Nothing
   End If
End Sub

Private Sub frmForm2_ImClosed(ByVal OK_Exit As Boolean)
   MsgBox "OK_Exit = " & OK_Exit
End Sub
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
'А это - Form2
Public Event ImClosed(ByVal OK_Exit As Boolean)

Dim OK_Exit As Boolean

Private Sub btnCancel_Click()
   Unload Me
End Sub

Private Sub btnOK_Click()
   OK_Exit = True
   Unload Me
End Sub

Private Sub Form_Load()
   OK_Exit = False
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
   RaiseEvent ImClosed(OK_Exit)
End Sub
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33161251
Синий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток Вам, Зеленая. И вам, многоувожаемые форумяне.
Во первЫх строках своего обращения к Вам, Зеленая, хочу сразу пустить в ход проверенные временем стандартные мужские оправдания в собственной несостоятельности... (немного почесав репу... блин, начисто вымытые волосы как-то не так реагируют на прикосновения... не липнут, что ли...) Ну, знаете, там, работа все соки выжимает, налоговая со своими кварталами достала, машина разваливается... что там еще бывает? (немного почесав щеку... странно, но и гладко выбритый фейс тоже как-то неадекватно себя ведет - не колется...) Ну вообщем все такое...
Я, как обычно, хотел как лучше... Хотел раскрыть пред Вами, Зеленая, бескрайние просторы правильных, проверенных не одним поколением программистов, подходов к решению задач, но... Но всегда найдутся выскочки (Гусары!!! Молчать! Видите куда дело движется?;), которые посоветуют наколенные решения через всякие там глобальные (фииииииии) переменные. Есть, конечно, и те, которые дело говорят (про генерацию событий), но это совсем не то, что нужно в данной ситуации. Спасибо, что не нашлись доброходы, которые посоветовали бы создать в Форме1 публичный метод или свойство, которые "дергались" бы из Формы2 по нажатию той или иной кнопки. Впрочем, я отвлекся от истинной причины моего прихода сюда в столь сверкающем виде (млин... надо было очки солнцезащитные одеть, а то начищенные туфли, отражая сияние прекрасной собеседницы, просто ослепляют).
Так вот, пришел я... (немного пораскинув мозгами... какая, нафих, встреча? Какая, нафих, свидание в каком-нить чате? После всего произошедшего...) ...значит, я пришел... пришел, значит, я... вообщем, чтобы извиниться за отнятое время.
Извините.
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33162444
Зеленая
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Worobjoff

Ваши примеры я реализовала в своем приложении. Спасибо.


to Синий
Такое впечетление, что Вам нескем поговарить. Пишите мне на email, мы с Вами поговорим про Visual C++, про Vishual Basic, про MS SQL ,про COM, про бухгалтерский учет, про алгоритмы.
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33162458
Синий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зеленаяto Синий
Такое впечетление, что Вам нескем поговарить. Пишите мне на email, мы с Вами поговорим про Visual C++, про Vishual Basic, про MS SQL ,про COM, про бухгалтерский учет, про алгоритмы.
Доброй ночи Вам, Зеленая.
Спасибо, что подумали именно так (или во всяком случае ТАК выразились), что, мол, мне поговорить нескем. А то здесь люди совсем другого мнения придерживаются :) Хотя поспешу оправдаться, что он первый начал, да и потом где-то в другом топике мир наладить пытался... Это я так... Дабы Вы, Зеленая, имели ясное представление о своих заблуждениях по поводу Ваших впечатлений о движимых мною здесь причинах. Другие они :)
По поводу имэйла - классная шутка Мне очень понравилось, спасибо :)
А поговорить по поводу предложенных Вами поводов... хм... все темы кроме двух поддержал бы на высоком :) профессиональном уровне. А сейчас мне ближе темы про наружную рекламу, про неон и светодиоды, про контроллеры этого безобразия на базе PIC и Atmel, про рэкет и перебранки с налоговиками, про учет хищений и алгоритмы конкурентной борьбы на динамично развивающемся рынке... Да и об этом не очень хочется, ибо отпуск у меня...
Хотя... Знаете... Только Вам и только по сикрету... Я тут занимаюсь в свободное время написанием архи-грандиознейшей системы, которая в момент своего выхода просто-напросто перевер... вообщем, просто-напросто выйдет... как-нибудь... наскоренько... но нескоренько... и кривенько... Основная проблема стала в долбаном доступе к данным... (похвасталсяпожаловалсядалповодпосмеяться). Ну да фик с ним со всем, правильно?

Спасибо Вам, Зеленая, за внимание к моей... хм... (небудуругатьсяматом) ...персоне.
И вам, терпеливые форумяне, за терпение...
И Вам, модератор (если Вы еще здесь живы), за снисхождение и взгляд сковзь пальцы на это безобразие...

//уходит напевая: "...милая мая далэкооооооо... сэрдцу бэз лубви нэлэгко... ны-ны-ны-ныны-ныныныыыыы... ны-ны"
...
Рейтинг: 0 / 0
хочу TRUE, что мне делать?
    #33162473
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор жив ;).
Только что вернулся из отпуска в котором пребывал в течение последнего месяца.
Безобразие, конечно, довольно обьемистое получилось, но пока карательных мер не последует :). Только рекомендации продолжить в Трепе дабы не возникла необходимость переносить туда весь топик. Кстати в этом случае, Синий твои шансы на благосклонность дамы сильно уменьшатся :).

Magnus
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / хочу TRUE, что мне делать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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