Не работает close()
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Не работает this->Close()
В обработчике события FormShow не работает this->Close(). Причем в «свежесозданном» проекте все.
Не работает window.close()
Не работает метод close() в Джавскрипте именно в браузерах Мозила и Гуглхром, что можно .
this.Close() не работает из класса
Добрый день! Внутри namespace своей программы создал отдельный класс. В этом классе пишу.
Pickle.close() — не работает
Код:>>> import sys >>> sys.version ‘3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:38:48) ‘ >>> D =.
Всё, вопрос снимается, разобралась)
Добавлено через 1 минуту
Закрытие окна с фреймами (window.close() не работает)
Народ, помогите. Есть окно с фреймами. в одном из них есть кнопка. при нажатиии на которую.
Чем отличаются this.Close() от Close()
this.Close(); Close(); как лучше? и какие ++ в использовании this? если работает одинакова?
Не работает код: open list for output as #1 write #1 form1.label1.caption close
Когда ввожу open list for output as #1 write #1 form1.label1.caption close он ругается что.
Оконная процедура дочернего окна — обработчик кнопки «Close» не работает
Здравствуйте! В своей программе создала дочернее окно, и создала оконную процедуру для него. А в.
Close & Nothing
Доброго дня, уважаемые! Не разъяснит ли мне кто нибудь разницу между следующими командами.
Источник
Окно Qt не закроется с помощью функции «this-> gt; close ()» из другого класса
Я начну с объяснения моей главной цели. У меня есть главное окно с 7 кнопками (среди прочего), когда вы нажимаете каждую кнопку, оно закрывает текущее окно и открывает новое окно. Все окна будут иметь одинаковые 7 кнопок, поэтому вы можете переходить между ними. Во всех окнах, имеющих одинаковые 7 кнопок, я хотел установить функцию, которую каждый класс может вызывать, чтобы настроить каждую кнопку и подключиться к slot () в моем mainwindow.cpp (называемом setupSubsystemButtons в примере ниже). Тем не менее, я не могу заставить окно закрываться с помощью стандартного «this-> close ()» … оно работает, когда я перехожу из главного окна в другое окно (главное окно закрывается), но когда я иду из другое окно, чтобы сказать домашнее окно, другое окно не закрывается. Предложения будут с благодарностью. Я предполагаю, что мое понимание «этого», когда дело доходит до вызова слотов в другом классе, неверно.
mainwindow.cpp (части, которые имеют отношение)
Решение
Слоты просто нормальные функции. Когда Qt вызывает слот, он заканчивает тем, что вызывает соответствующий метод получателя. Другими словами, this равно значению третьего аргумента вашего connect заявления. Вы прошли this там, так что получатель является объектом MainWindow. Например. MainWindow::homeScreen метод всегда пытается закрыть MainWindow , Если оно уже скрыто, это действие не действует.
Вы должны либо иметь слот в каждом классе окна и подключать кнопки к соответствующим получателям, либо использовать указатель на текущее активное окно вместо this при звонке close() , Но ваша архитектура странная в первую очередь. Зачем вам нужно создавать эти кнопки для каждого окна? Целесообразно создать их один раз и использовать во всех окнах. Также скрывать и показывать окна не обязательно. Вы можете создать одно главное окно с кнопками и QStackedWidget это будет содержать содержимое всех других окон. Может быть, вы даже можете использовать QTabWidget вместо этих кнопок.
Источник
this.Close (); не работает в окне wpf
В wpf окно я вызываю оконные формы. Прежде чем позвонить, я просто хочу закрыть это окно. Вот мой код.
Ошибок нет, но форма не закрывается. И в форме окна тоже, this.Close() не работает
5 ответов
Он закроется, когда вы закроете PdfReader form . Form.ShowDialog возвращается, только когда форма закрыта. Так что this.Close() не вызывается, пока не закончит ShowDialog .
Вы можете установить this.Visibility = Visibility.Hidden перед вызовом form.ShowDialog();
Важная деталь, которую мы должны иметь в виду, когда имеем дело с закрытием окон и другими операциями пользовательского интерфейса: нам нужно выполнять их только в потоке пользовательского интерфейса . Именно так и произошло в моем случае.
Я инициировал событие с сервера, и когда это произошло, я вызвал другое событие с помощью настраиваемого агрегатора событий , чтобы закрыть второе открытое окно (без завершения работы приложения). Однако это произошло не без ошибки или видимой причины. Мое окно все еще было открыто. Тем не менее, когда я включил «Исключение среды CLR» в настройках Visual Studio:
Я поймал исключение: « Full Exception: System.InvalidOperationException: вызывающий поток не может получить доступ к этому объекту, потому что он принадлежит другому потоку. в System.Windows.Threading.Dispatcher.VerifyAccess () в System.Windows.Window.Close () . «
Следовательно, вместо этого:
Надеюсь, это безопасное время для кого-то вроде меня 🙂
Если вы читаете в этой статье MSDN вы увидите, что ShowDialog возвращается только тогда, когда указанное окно закрыто. Это означает, что ваш код заблокирован в этой строке, пока окно не будет закрыто. Сначала вам нужно закрыть текущее окно, а затем ShowDialog .
Обратите внимание, что Show не работает таким образом.
Когда вы используете Window.ShowDialog() , он модально вызывает новое окно, то есть вы не можете перейти к родительской форме.
Функция Window.Show() показывает форму в немодальной форме. Это означает, что вы можете щелкнуть по родительской форме.
Однако этот код закроет ваше приложение как MSDN говорит (спасибо @Empereur Aiman):
ShutdownMode OnMainWindowClose вызывает презентацию Windows Foundation (WPF) для неявного вызова Shutdown, когда MainWindow закрывается, даже если в данный момент открыты другие окна .
И вы должны установить для ShutdownMode значение OnLastWindowClose как MSDN сообщает:
Если для параметра ShutdownMode установлено значение OnLastWindowClose, Windows Presentation Foundation (WPF) неявно вызывает Shutdown, когда последнее окно в приложении закрывается, даже если какие-либо окна, созданные в данный момент, установлены в качестве главного окна (см. MainWindow).
Просто измените порядок вызова ShowDialog ():
И установите ShutdownMode=»OnLastWindowClose» в App.xaml файл вашего приложения:
Ваш код:
Это означает, что CLR выполняет модально ваш новый <
Источник
this.Close(); не работает в окне wpf
В wpf, окне я вызываю формы окна. Прежде чем позвонить, я просто хочу закрыть это окно. Вот мой код.
Нет ошибки, но форма не закрывается. И в форме окна также, this.Close() не работает
Он закроется, когда вы PdfReader form . Form.ShowDialog возвращается только тогда, когда форма закрыта. Таким образом this.Close() не вызывается до тех пор, пока ShowDialog закончится.
То, что вы можете сделать, это установить this.Visibility = Visibility.Hidden перед вызовом form.ShowDialog();
Если вы прочтете эту статью MSDN, вы увидите, что ShowDialog возвращается только при закрытом окне. Это означает, что ваш код заблокирован на этой строке, пока окно не будет закрыто. Сначала нужно закрыть текущее окно, а затем ShowDialog .
Обратите внимание, что Show не работает таким образом.
Когда вы используете Window.ShowDialog() , он вызывает новый Window modally, то есть вы не можете перейти в родительскую форму.
Функция Window.Show() показывает форму в Window.Show() форме. Это означает, что вы можете нажать на родительскую форму.
Однако этот код закроет ваше приложение, как говорит MSDN (благодаря @Empereur Aiman):
ShutdownMode OnMainWindowClose заставляет Windows Presentation Foundation (WPF) неявно вызывать Shutdown при закрытии MainWindow, даже если в настоящее время открыты другие окна.
И вы должны настроить ShutdownMode на OnLastWindowClose поскольку MSDN говорит:
Если вы установите ShutdownMode на OnLastWindowClose, Windows Presentation Foundation (WPF) неявно вызывает Shutdown, когда последнее окно в приложении закрывается, даже если в качестве главного окна задано какое-либо текущее оконное окно (см. MainWindow).
Просто измените порядок вызова ShowDialog():
и установите ShutdownMode=»OnLastWindowClose» в файле App.xaml вашего приложения:
Вы код:
Это означает, что CLR выполняет модификацию вашего нового окна PdfReader . То есть выполнение вашей программы переходит в окно PdfReader . И только после закрытия окна PdfReader CLR выполняет следующую строку:
и ваш MainWindow() будет закрыт.
Важная информация, которую мы должны иметь в виду, когда мы имеем дело с закрытием Windows и другой операцией UI: нам нужно выполнить ее только в потоке пользовательского интерфейса. Это именно то, что произошло в моем случае.
Я поднял событие с сервера, и когда это произошло, я поднял другое событие с помощью настраиваемого агрегатора событий, чтобы закрыть второе окно, которое открыто (без выключения приложения). Однако это не произошло без ошибки или видимой причины. Мое окно все еще было открыто. Тем не менее, когда я разрешил исключение «Common Language Runtime exception» с помощью настроек визуальной студии:
Я поймал исключение: «Полное исключение: System.InvalidOperationException: вызывающий поток не может получить доступ к этому объекту, потому что ему принадлежит другой поток. В System.Windows.Threading.Dispatcher.VerifyAccess() в System.Windows.Window.Close(). «
Следовательно, вместо этого:
Надеюсь, это будет безопасное время для кого-то вроде меня 🙂
Источник
C# Как грамотно закрыть Form?
Здравствуйте, коллеги! Не думал, что будут проблемы с такими вот вещами, но тем не менее. Вот в чем суть проблемы. Разрабатываю программу, в которой из главной Form1, при нажатии на копку я открываю Form2.
Далее уже на Form2 я выполняю код, который заполняет таблицу на Form1, при этом я вывожу данные в таблицу, а затем мне нужно закрыть Form2 сразу.
Так вот в чем проблема: Form2 она то вроде закрывается, но по факту только скрывается. По долгу своей работы, мое приложение должно работать сутками в фоне и получается, что очередной раз пользователь открывает Form2, нажимает там на кнопку, таблица на Form1 заполняется, но Form2 не закрывается, а сворачивается. И так у меня плодятся окна Form1 и Form2 до бесконечности. Как можно это грамотно обыграть? P.s. Пробовал и Form2.ActiveForm.Close() и this.Close() ничего не помогает. Может логическая ошибка где? Помогите, пожалуйста!
3 ответа 3
Пример обработчика события по нажатию кнопки в Form2 с изменением свойств объектов формы Form1.
Пример более правильного вызова/создания дочерней формы.
Настоятельно рекомендую иметь ввиду контроль наличия (существования) окна, если вы используете окно без привязки к основному. Т.е. если дочерние окна можно убрать в фон или на задний план, то вы обязательно его потеряете.
Имена форм для Application.OpenForms[«AnyFormName»]; находятся в свойствах самих форм в переменной Name . Изменить (переопределять не стоит) можно в классе *.Designer.cs .
Если вам необходим доступ к методам формы, то необходимо создавать для них делегаты методов перед использованием.
Источник