Вы уверены, что хотите выйти?
Можно ли подхватить простой грипп, скачав файл из интернета? Лёх боится виртуальных микробов не меньше, чем реальных. Но однажды в Сети он находит свою первую любовь… чтобы тут же её потерять.
На нашем сайте можно скачать книгу «Вы уверены, что хотите выйти?» в формате fb2, rtf, epub, pdf, txt или читать онлайн. Здесь так же можно перед прочтением обратиться к отзывам читателей, уже знакомых с книгой, и узнать их мнение. В интернет-магазине нашего партнера вы можете купить и прочитать книгу в бумажном варианте.
Подтверждение выхода
Здравствуйте.
Имеется приложение, которое добавляется в автозагрузку и при запуске сразу сворачивается в трей, откуда и работает, показывая уведомления notifyIcon.
Иногда бывает необходимость открыть само приложение.
Вопрос: нужно, чтобы если приложение было открыто, то выскакивал вопрос "Вы действительно хотите выйти?".
Сделал вот так, но в таком случае при обычном завершении работы появляется окно "Эта программа не позволяет завершить работу", и там мой DialogYesNo:
Подтверждение выхода из приложения
Есть вот такой код: private void Form1_FormClosing(object sender, FormClosingEventArgs e).
Подтверждение закрытия
почему при закрытии формы order требуется несколько раз нажать "Да" и как это исправить на одно.
Подтверждение удаления из DataGridView
Здравствуйте! Подскажите как можно сделать подтверждение удаления из DataGridView. На сколько.
Подтверждение при выходе из программы
Ребят как здесь сделать подтверждение выхода из программы? private void.
Клавиатура и аппаратные кнопки
Кроме клавиш, есть ещё другие методы обработки пользовательского ввода (здесь не рассматриваются):
- onTrackballEvent() — срабатывает при движениях трекбола;
- onTouchEvent() — обработчик событий сенсорного экрана, срабатывает при касании, убирания пальца и при перетаскивании.
Чтобы ваши компоненты и активности реагировали на нажатия клавиш, переопределите обработчики событий onKeyUp() и onKeyDown():
Параметр keyCode содержит код клавиши, которая была нажата; сравнивайте его со статическими кодами клавиш, хранящимися в классе KeyEvent, чтобы выполнять соответствующую обработку.
Параметр KeyEvent также включает в себя несколько методов: isAltPressed(), isShiftPressed() и isSymPressed(), определяющих, были ли нажаты функциональные клавиши, такие как Alt, Shift или Sym. Статический метод isModifierKey() принимает keyCode и определяет, является ли нажатая клавиша модификатором.
Кнопка Back: Вы уверены, что хотите выйти из программы?
Кнопка Back (Назад) закрывает приложение, точнее текущую активность, но если приложение состоит из одной активности, то это равносильно закрытию всего приложения. В большинстве случаев вам нет никакого дела до неуклюжего пользователя, который по ошибке нажал на кнопку «Back» вместо кнопки Подарить разработчику миллион. Но, если ваша программа, будучи запущенной на телефоне пользователя, потихоньку списывает деньги клиента в счёт Фонда голодных котов, то нужно дать ему шанс задуматься и вывести диалоговое окно с вопросом: «А действительно ли вы хотите выйти из программы?»
Чтобы реализовать такую задачу, нужно переопределить поведение кнопки «Back» через метод активности onBackPressed() следующим образом:
Данный метод появился в Android 2.0. Для более ранних версий использовался стандартный код обработки onKeyDown():
Двойное нажатие на кнопку Back
Другой вариант — выход из приложения при двойном нажатии на кнопку «Back». Удобно в тех случаях, когда считаете, что пользователь может случайно нажать на кнопку, например, во время активной игры. Приложение закроется, если пользователь дважды нажмёт на кнопку в течение двух секунд.
Кнопка Home
Можно отследить нажатие кнопки Home через метод активности onUserLeaveHint():
Обработка кнопки Menu
У телефона, кроме кнопки «Back», есть ещё кнопка «Menu» для вызова команд меню (на старых устройствах). Если необходимо обрабатывать нажатия этой кнопки (например, управление в игре), то используйте следующий код (обычное и долгое нажатие):
Должен заметить, что длинное нажатие трудно уловить, так как обычное нажатие постоянно подавляет это событие.
Другие кнопки
Ну на самом деле можно отслеживать не только нажатие кнопки Меню, но и кнопку Поиска и кнопки увеличения громкости.
Обратите внимание, что для кнопки громкости возвращаем false, т.е. мы не переопределяем поведение кнопки, а оставляем её на усмотрение системы.
Пример работы с кнопками громкости можно посмотреть в статье Рингтоны. Управление громкостью
По такому же принципу работает метод onKeyUp(). Метод onKeyLongPress() можно использовать, если в методе onKeyDown() был задействован метод event.startTracking(), отслеживающий поведение кнопки. В нашем примере мы отслеживали кнопку Volume_Up.
Прячем клавиатуру
Бывает так, что при запуске активности сразу выскакивает клавиатура. Если такое поведение не нравится, то пропишите в манифесте нужное значение у атрибута android:windowSoftInputMode (см. ниже).
В некоторых случаях хочется убрать клавиатуру с экрана, не нажимая кнопку «Back», а программно. В одном моём приложении, где было много текстовых полей, я воспользовался следующим кодом при щелчке кнопки:
Код так выглядит, если писать его в Activity. Если расположить его в другом классе, экземпляр Activity нужно передать туда как параметр и вызывать методы как activity.getApplicationContext(), где activity — экземпляр Activity.
Можно избавить компонент от фокуса:
Чтобы принудительно показать клавиатуру, используйте следующий код:
Кстати, повторный вызов метода закроет клавиатуру. Указанный способ не требует наличия элементов View.
Если продолжить тему показа клавиатуры, то может возникнуть следующая ситуация. Допустим у вас есть DialogFragment с EditText. При выводе диалогового окна вам нужно установить фокус на EditText и показать клавиатуру:
Либо используйте тег <requestFocus /> для нужного EditText.
Изменить вид клавиатуры для EditText
Когда элемент EditText получает фокус, то появляется клавиатура. Можно установить нужный вид клавиатуры через атрибут InputType или программно через метод setInputType():
TYPE_CLASS_DATETIME — дата и время
TYPE_CLASS_NUMBER — цифры
TYPE_CLASS_TEXT — буквы
Переопределяем кнопку Enter
Кроме атрибута InputType можно также использовать атрибут android:imeOptions в компоненте EditText, который позволяет заменить кнопку Enter на клавиатуре на другие кнопки, например, Next, Go, Search и др. Возможны следующие значения:
- actionUnspecified: Используется по умолчанию. Система сама выбирает нужный вид кнопки (IME_NULL)
- actionGo: Выводит надпись Go. Действует как клавиша Enter при наборе адреса в адресной строке браузера (IME_ACTION_GO)
- actionSearch: Выводит значок поиска (IME_ACTION_SEARCH)
- actionSend: Выводит надпись Send (IME_ACTION_SEND)
- actionNext: Выводит надпись Next (IME_ACTION_NEXT)
- actionDone: Выводи надпись Done (IME_ACTION_DONE)
Чтобы увидеть все варианты воочию, можете создать несколько текстовых полей и переключаться между ними:
Чтобы реагировать на нажатия разных состояний кнопки Enter, необходимо реализовать интерфейс TextView.OnEditorActionListener. Небольшой пример:
В нашем примере если пользователь ищет что-то, не связанное с котом, то кнопка поиска не будет выполнять желание владельца устройства.
Также можно поменять текст на кнопке с помощью атрибута android:imeActionLabel:
Текст на кнопке поменялся, но вот обработка Enter из предыдущего примера у меня перестала работать. Мой неработающий код на память.
Upd: Читатель Максим Г. предложил следующее решение проблемы. Убираем атрибуты imeOptions, imeActionId, imeActionLabel и установим их программно.
По желанию можете отслеживать только у нужного поля. Поставьте дополнительное условие после первого блока if:
Интерфейс OnKeyListener
Чтобы среагировать на нажатие клавиши внутри существующего представления из активности, реализуйте интерфейс OnKeyListener и назначьте его для объекта View, используя метод setOnKeyListener(). Вместо того, чтобы реализовывать отдельные методы для событий нажатия и отпускания клавиш, OnKeyListener использует единое событие onKey().
Используйте параметр keyCode для получения клавиши, которая была нажата. Параметр KeyEvent нужен для распознавания типа события (нажатие представлено константой ACTION_DOWN, а отпускание — ACTION_UP).
Сдвигаем активность
Чтобы всплывающая клавиатура не заслоняла элемент интерфейса, который получил фокус, а сдвигала активность вверх, можно в манифесте для нужной активности прописать атрибут android:windowSoftInputMode с параметром adjustPan:
Также доступны и другие параметры:
- stateUnspecified — настройка по умолчанию. Система сама выбирает подходящее поведение клавиатуры.
- stateUnchanged — клавиатура сохраняет своё последнее состояние (видимое или невидимое), когда активность с текстовым полем получает фокус.
- stateHidden — клавиатура скрыта, когда открывается активность. Клавиатура появится при наборе текста. Если пользователь переключится на другую активность, то клавиатура будут скрыта, но при возвращении назад клавиатура останется на экране, если она была видима при закрытии активности.
- stateAlwaysHidden — клавиатура всегда скрывается, если активность получает фокус.
- stateVisible — клавиатура видима.
- stateAlwaysVisible — клавиатура становится видимой, когда пользователь открывает активность.
- adjustResize — размеры компонентов в окне активности могут изменяться, чтобы освободить место для экранной клавиатуры.
- adjustPan — окно активности и его компоненты не изменяются, а сдвигаются таким образом, чтобы текстовое поле с фокусом не было закрыто клавиатурой.
- adjustUnspecified — настройка по умолчанию. Система сама выбирает нужный режим.
Параметры с префиксом state можно комбинировать с настройками с префиксом adjust:
Например, чтобы показать клавиатуру при старте активности, используйте stateVisible.
Данные настройки доступны и программно. Например, код для adjustResize:
Кстати, этот код не сработает в полноэкранном режиме (флаг FLAG_FULLSCREEN). Сверяйтесь с документацией.
Узнать выбранный язык на клавиатуре
Для определения текущего языка на клавиатуре можно использовать следующий код.
Следует быть осторожным с примером. На эмуляторе с Android 6.0 пример работал корректно. На реальных устройствах у меня корректно определялся русский язык, но при переключении на английский язык выдавал пустую строку или значение «zz». В этом случае можно прибегнуть к условиям if и проверять ожидаемое значение.
Исправлено: «Вы уверены, что хотите покинуть эту страницу?»
Иногда, когда вы пользуетесь интернетом, вы можете увидеть , уверены ли вы, что хотите покинуть эту страницу? сообщение Это сообщение обычно появляется, если вы не сохранили свои данные на определенном веб-сайте и в большинстве случаев работает как напоминание. С другой стороны, некоторые сайты используют это сообщение для рекламы определенных продуктов, поэтому сегодня мы собираемся показать вам, как бороться с этой дешевой тактикой.
Как исправить сообщение «Вы уверены, что хотите покинуть эту страницу?»?
Решение 1 — отключить JavaScript
Если вы постоянно получаете это сообщение на определенном веб-сайте, вы можете попробовать отключить JavaScript . Отключив его, вы предотвратите появление сообщения. Поскольку JavaScript является основным компонентом вашего браузера, его отключение приведет к неправильной работе многих современных веб-сайтов. В качестве обходного пути вы можете попробовать отключить JavaScript перед тем, как покинуть определенный веб-сайт, а затем снова включить его. Чтобы отключить JavaScript в Google Chrome , выполните следующие действия.
- Нажмите кнопку « Меню» в правом верхнем углу и выберите « Настройки» в меню.
- Когда откроется вкладка « Настройки », нажмите « Показать дополнительные настройки» .
- В разделе « Конфиденциальность » нажмите кнопку « Настройки контента» .
- Теперь перейдите к разделу JavaScript и установите флажок Не разрешать запускать JavaScipt ни на одном сайте . Таким образом вы отключите JavaScript для каждого веб-сайта.
- Необязательно: Chrome также позволяет вам устанавливать исключения для JavaScript, и вы можете сделать это, нажав кнопку « Управление исключениями» .
Теперь введите адрес веб-сайта в поле слева и разрешите или заблокируйте JavaScript для этого веб-сайта.
Как видите, этот метод предлагает контроль над отдельными сайтами, что лучше, чем отключение JavaScript для всех сайтов.
- Читайте также: как записывать действия веб-браузера в Chrome
Если вы используете Firefox , вы можете отключить JavaScript, выполнив следующие действия:
- В адресной строке в Firefox введите about: config .
- Появится предупреждающее сообщение. Нажмите Я принимаю кнопку риска .
- В строке поиска вверху введите javascript.enabled . Список результатов теперь изменится. Дважды щелкните javascript.enabled, чтобы отключить его. Если значение меняется на false , это означает, что JavaScript теперь отключен в Firefox.
Имейте в виду, что этот метод отключит JavaScript для всех веб-сайтов, которые вы открываете в Firefox.
Если вы используете Internet Explorer , вы можете отключить JavaScript, выполнив следующие действия:
- Нажмите Windows Key + S и введите параметры Интернета . Выберите Свойства обозревателя из меню.
- Перейдите на вкладку « Безопасность » и нажмите кнопку « Пользовательский уровень» .
- Перейдите в раздел « Сценарии » и найдите « Активные сценарии» . Выберите Disable из списка параметров. Нажмите OK, чтобы сохранить изменения.
Решение 2 — Отключить надстройки
По словам пользователей, вы можете решить эту проблему в Internet Explorer, отключив надстройки. Для этого выполните следующие действия:
- Нажмите клавишу Windows + R.
- Когда откроется диалоговое окно « Выполнить », введите iexplore –extoff .
Internet Explorer теперь запускается со всеми отключенными надстройками. Если вы уверены, что хотите покинуть эту страницу, сообщение больше не появляется, это означает, что одна из ваших надстроек вызывает эту проблему. Чтобы определить, какая надстройка является проблемой, вам нужно сделать следующее:
- Запустите Internet Explorer .
- Нажмите значок « Инструменты» в правом верхнем углу и выберите « Управление надстройками» .
- Когда откроется окно « Управление надстройками» , выберите любую надстройку и нажмите кнопку « Отключить» .
- Перезапустите Internet Explorer и проверьте, решена ли проблема. Если проблема все еще существует, повторите те же действия, но на этот раз обязательно отключите другую надстройку. Повторяйте этот процесс, пока не найдете проблемное дополнение.
- ЧИТАЙТЕ ТАКЖЕ: Metadefender сканирует загрузки файлов Chrome для повышения вашей безопасности
Чтобы отключить надстройки в Google Chrome, выполните следующие действия.
- Нажмите кнопку « Меню» и выберите « Дополнительные инструменты»> «Расширения» .
- Вкладка расширений теперь появится. Чтобы отключить расширение, снимите флажок « Включено» рядом с именем расширения.
- После отключения расширения перезапустите браузер и проверьте, решена ли проблема. Если проблема не устранена, повторите те же действия и отключите другое расширение. Повторяйте это, пока не найдете проблемное расширение.
Если вы используете Firefox, вы можете отключить надстройки, выполнив следующие действия:
- Нажмите кнопку « Меню» в правом верхнем углу и выберите « Дополнения» .
- Выберите Расширения в меню слева.
- Появится список всех установленных расширений. Чтобы отключить расширение, нажмите кнопку « Отключить» рядом с ним. После отключения расширения перезапустите Firefox и проверьте, решена ли проблема. Если проблема не устранена, повторите процедуру еще раз, но обязательно отключите другое расширение.
Немногие пользователи сообщили о проблемах с надстройкой Smiley Central в Firefox. Если вы используете это дополнение, обязательно удалите его и проверьте, решает ли это проблему.
Решение 3 — Сбросить Internet Explorer
Если предыдущее решение не устранило вашу проблему, вы можете решить ее, сбросив Internet Explorer по умолчанию. Для этого выполните следующие действия:
- Откройте Свойства обозревателя . Для получения подробных инструкций о том, как это сделать, проверьте Решение 1 .
- Перейдите на вкладку « Дополнительно » и нажмите кнопку « Сброс» .
- Установите флажок « Удалить личные настройки» и нажмите « Сброс» .
После сброса Internet Explorer по умолчанию проверьте, решена ли проблема. Если вы используете другой браузер, обязательно сбросьте его и проверьте, решает ли это вашу проблему.
Решение 4 — Очистить историю просмотров
Если вы постоянно получаете Вы уверены, что хотите покинуть эту страницу? сообщение, вы можете исправить это, просто очистив историю просмотров. Чтобы очистить историю просмотров в Chrome, вам необходимо сделать следующее:
- Читайте также: как исправить проблему черного экрана Google Chrome в Windows 10
- Нажмите кнопку « Меню» в правом верхнем углу и выберите « Настройки» .
- Прокрутите весь путь вниз и нажмите « Показать дополнительные настройки» .
- В разделе « Конфиденциальность » нажмите кнопку « Очистить данные браузера» .
- Проверьте историю просмотров, файлы cookie и другие данные сайтов и плагинов, кэшированные изображения и файлы, а также данные размещенных приложений . В Obliterate следующие пункты из раздела выберите начало времени . Нажмите кнопку Очистить данные просмотра , чтобы удалить выбранные данные.
- После этого перезапустите браузер и проверьте, решена ли проблема.
Если вы используете другой браузер, вы можете очистить историю посещений, выполнив аналогичные шаги.
Решение 5 — Отключить фильтр смешанного содержимого / XSS
Если вы получаете Вы уверены, что хотите покинуть эту страницу? Сообщение часто в Internet Explorer или Microsoft Edge , вы можете исправить это, внеся одно небольшое изменение: отключить смешанный контент. Это относительно просто, и вы можете сделать это, выполнив следующие действия:
- Откройте Свойства обозревателя .
- Перейдите на вкладку « Безопасность » и нажмите кнопку « Пользовательский уровень» .
- Перейдите в раздел « Разное », найдите « Показать смешанное содержимое» и выберите « Отключить» . Нажмите OK, чтобы сохранить изменения.
- После этого перезапустите Internet Explorer и проверьте, решена ли проблема.
Некоторые пользователи также предлагают включить смешанный контент для решения этой проблемы. Если смешанный контент уже включен, отключите его и включите снова. Несколько пользователей сообщили, что они исправили проблему, просто отключив фильтр XSS. Для этого просто сделайте следующее:
- Повторите шаги 1 и 2 сверху.
- Теперь перейдите в раздел « Сценарии » и найдите « Включить XSS фильтр» . Выберите параметр « Отключить» и нажмите кнопку « ОК», чтобы сохранить изменения.
- Читайте также: расширенные настройки шрифтов дает полный контроль над настройками шрифтов Google Chrome
Решение 6 — Используйте инструменты разработчика
Это простой обходной путь, который может помочь с. Вы уверены, что хотите покинуть эту страницу? сообщение. По словам пользователей, в некоторых случаях вы можете решить эту проблему в Internet Explorer, просто используя Инструменты разработчика. Чтобы решить эту проблему, вам просто нужно открыть Инструменты разработчика и переключиться на старую версию Internet Explorer. Для этого выполните следующие действия:
- Откройте Internet Explorer и посетите веб-сайт, на котором вы видите это сообщение.
- Нажмите F12, чтобы открыть окно инструментов разработчика .
- В правом верхнем углу щелкните значок с номером 11 рядом с ним. Выберите любой номер из меню ниже.
После этого вы будете эмулировать старую версию Internet Explorer. Это не постоянное решение, и вам придется повторять это решение на каждом веб-сайте, который предоставляет вам это сообщение.
Решение 7. Отключите функцию beforeunlead в Firefox
Если вы используете Firefox в качестве веб-браузера по умолчанию, вы можете легко решить эту проблему с помощью этого метода. Это сообщение появляется из-за функции JavaScript до загрузки. Чтобы остановить Вы уверены, что хотите покинуть эту страницу? сообщение должно появиться, вы должны предотвратить запуск вышеупомянутой функции. Чтобы сделать это в Firefox, выполните следующие действия:
- Откройте Firefox и введите about: config в адресную строку.
- Вы увидите предупреждение. Нажмите Я принимаю кнопку риска .
- В поле поиска введите dom.disable_beforeunload . Найдите dom.disable_beforeunload в списке и дважды щелкните по нему. Убедитесь, что его значение установлено в True .
После выполнения этих шагов проблема должна быть полностью решена. Стоит отметить, что отключив эту функцию, вы можете изменить работу определенных веб-сайтов на вашем компьютере. Многие веб-сайты используют эту функцию, и если вы заметили, что некоторые веб-сайты ведут себя странно, обязательно верните этот параметр к его первоначальному значению.
Исправлено — «Вы уверены, что хотите покинуть эту страницу» Chrome
Решение 1 — Сбой вкладки в Chrome
Это еще один обходной путь, который может помочь вам. Вы уверены, что хотите покинуть эту страницу? сообщение. Следует отметить, что это решение работает только в Chrome, поэтому его нельзя использовать в других браузерах. По словам пользователей, вы можете избежать этого сообщения, просто сломав вкладку, которую вы хотите закрыть. Для этого в Google Chrome просто введите chrome: // crash в адресную строку. Это должно привести к сбою вкладки, и вы сможете закрыть ее без каких-либо проблем.
Кроме того, вы также можете попробовать ввести chrome: // повесить в адресной строке. Таким образом вы заблокируете вкладку и все ее сценарии, поэтому сможете без проблем закрыть ее. Еще раз отметим, что это всего лишь обходной путь, а не постоянное решение. Если это решение работает для вас, вам придется использовать его каждый раз, когда вы хотите закрыть веб-сайт, сообщающий вам об этом.
- Читайте также: Google Chrome не позволит пользователям управлять и отключать плагины
Решение 2 — Использовать пользовательский скрипт
По словам пользователей, вы можете решить эту проблему в Chrome просто с помощью скрипта пользователя. Прежде чем вы сможете это сделать, вам нужно скачать расширение Tampermonkey для Chrome . После этого просто загрузите этот скрипт и добавьте его в Tampermonkey. После этого вы уверены, что хотите покинуть эту страницу? сообщение об ошибке больше не появится Следует отметить, что это продвинутое решение, поэтому, если вы являетесь обычным пользователем и не знакомы с пользовательскими скриптами, вы можете пропустить это решение.
Решение 3 — Загрузите и используйте расширение Let Me Out
Если у вас возникли проблемы с Вы уверены, что хотите покинуть эту страницу? сообщение, вы можете исправить их, загрузив расширение Let Me Out.
Решение 4 — Обновите ваш браузер
Если эта проблема появляется в Chrome или любом другом браузере, убедитесь, что у вас установлена последняя версия. Иногда ваша текущая версия может содержать определенные ошибки, и это может вызвать частое появление этого сообщения. Проверить наличие обновлений в Chrome довольно просто, и вы можете сделать это, нажав кнопку « Меню» в верхнем правом углу и выбрав « Справка»> «О Google Chrome» .
Появится новая вкладка, показывающая текущую версию Chrome. В то же время Chrome проверит наличие доступных обновлений и установит их автоматически. После обновления браузера проверьте, решена ли проблема.
Решение 5 — Перезапустите Chrome
Это еще один обходной путь, который может временно решить эту проблему. По словам пользователей, вы можете временно остановить появление этого сообщения, просто перезапустив Chrome. Это довольно простое решение, но имейте в виду, что это не навсегда. Даже если вы перезапустите Chrome, проблема появится через некоторое время, поэтому вам придется перезапустить ее снова.
Вы уверены, что хотите покинуть эту страницу? Сообщение может быть довольно раздражающим, но мы надеемся, что наши решения помогли вам решить его.