Форма поверх всех окон
Форма поверх всех окон в системе (через WinAPI), фокусировка
Мне нужно сделать прогу, которая будет всегда висеть поверх всех окон windows, даже диспетчер задач.
Форма не становится поверх остальных окон
Скажите пожалуйста, в чем ошибка private void поверхОкон_CheckedChanged(object sender, EventArgs.
OpenFileDialog поверх всех окон
Всем доброго времени суток! Есть потребность вывести openfiledialog поверх всех окон. Свойство.
MessageBox поверх всех окон
Здравствуйте! Собственно вопрос в том — возможно ли отображение MessageBox.show(«»,»»); поверх всех.
Насколько я понял вопрос — требуется вывести форму поверх всех окон твоего приложения.
Первый вариант показывает форму модально. Она тоже будет поверх всех окон твоего приложения
Второй — делает из окна TopMost Window приложения. Т.е. окно, кот не модальное, но постоянно весит над всеми остальными. Удобно для организации панели инструментов. Как в PhotoShop например.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Вывести сообщение поверх всех окон
Как вывести MessageBox поверх всех окон? Добавлено через 14 минут И еще, как сделать еще.
Показ формы поверх всех окон
Я хочу, чтобы при нажатию на глобальную клавишу, показывалась форма поверх всех окон. Проблема.
Сквозное окно поверх всех окон
Здравствуйте, допустим есть у нас активное окно, как сделать второе окно которое было бы поверх.
ToolTip выводится поверх всех окон
Здравствуйте Мне в программе нужно было сделать подсказки, указывающие на определенную кнопку. Для.
Установка формы поверх всех без перехвата фокуса
тогда форма будет поверх всех окон и фокус не будет перехватываться. Я добавил этот вызов в обработчик события FormLoad, но форма всеравно перехватывает фокус. Что я делаю не так?
Уже как только не пробовал вызывать эту функцию. так намучился. Сперва три часа мучился искал причину, почему форма перехватывает фокус, когда я делал вот так:
Потом нагуглил, что эта штука не работает, если TopMost == True. Теперь вот с этой апишной функцией играюсь и ничего не получается.
Никогда не думал, что будет такой большой проблемой вывести форму поверх всех окон без активации.
Окно поверх всех без фокуса!
Задача такова, что нужно создать окно которое будет по верх всех окон(приложений) находящихся на.
Окно без фокуса, поверх других окон
Подскажите, как сделать что бы окно, будучи даже без фокуса, находилось поверх других окон.
Форма поверх всех окон (даже после потери фокуса).
К примеру есть две формы: form1 и form2. form2 запускается из form1, и должна всегда оставаться.
Две формы поверх всех окон. Вторая не хочет быть поверх
Ребят, поиск юзал, всё пробовал. Вторая форма не хочет быть наверху, первая нормально наверху.
при нажатии на текстбок — пишется true, при клике в ту же студию — форма остаётся на переднем плане, а текст — false
Добавлено через 1 минуту
никаких winAPI, просто topMost=true;
Вы меня неправильно поняли. Понятное дело, что когда вручную активировать другое приложение, то наша форма потеряет фокус. А вы попробуйте сделать так, чтобы когда наша форма появляется, она не перехватывала фокус!
Вот я создал проект с формой с установленным TopMost=True и переписанным свойством ShowWithoutActivation
Компилируем и запускаем программу и быстро открываем блокнот и печатаем в нем текст. Когда через 3 секунды откроется форма, то она перехватит на себя фокус и текст станет печататься не в блокноте, а на форме! что жутко мне не нужно (я пытаюсь сделать всплывающее окно со своими кнопками)
Вот вторая форма для теста с WinAPI функцией:
Форма устанавливается поверх всех окон, но фокус также перехватывается. И я не могу понять почему! Наверное я не там, где надо вызываю эту функцию. Помогите разобраться! Я уже столько намучился с этим тошнотным перехватом фокуса.
Ниже этот проект с двумя формами. Попробуйте его у себя запустить.
Вложения
WF_NoActivate.zip (44.2 Кб, 19 просмотров) |
обрати внимание что у тебя стоит
Form1 form2=new Form1();
что не есть хорошо
Добавлено через 1 минуту
а, ещё: проект не убивается после того как закрыть форму, тока через диспетчер или через студию. наверняка это необходимо както исправить)
блинннн. стопятсотый раз удостоверяюсь, что ошибки и глюки кроются там, где ты их вообще не ждешь и не там где ищешь, и часто их проблемой бывает тупая явная невнимательность, как в этом случае Спасибо.
Добавлено через 2 минуты
честно, не знаю почему вызывается настолько странная ошибка, но ты уверен что каждые 5 секунд хочешь создавать по новой форме?
Добавлено через 56 секунд
а хотя возможно из-за ShowDialog процесс не возвращается к таймерам и ждёт пока закроют приложения, да..
в любом случае, попробуй:
Я забыл уточнить, что поместил на саму форму тоже один таймер, который автоматически закрывает форму через одну секунду, так что не в этом проблема.
Добавлено через 1 минуту
В этом случае та же самая проблема — форма не поверх окон.
Добавлено через 7 минут
Я так полагаю, что проблема в том, что таймер System.Timers.Timer работает в другом потоке (в отличие от таймера System.Windows.Forms.Timer). Потому нужно как-то заставить создаться форме и показать ее не в потоке таймера, а в главном потоке. Может тогда проблема решится. Но как это сделать?
Еще, на msdn читал, что если этот таймер используется на UI-элементе, тогда его свойству SynchronizingObject нужно присвоить ссылку на сам UI-элемент, который содержит таймер. То есть, что-то типа:
Но в моем случае загвозда в том, что не таймер должен быть привязан к форме, а форма к таймеру, так как таймер генерирует события, создающие формы одну за другой. И я чисто физически не могу присвоить свойству SynchronizingObject ссылку на форму, так как тогда в тот отрезок времени форма еще не создана.
по идее тоже самое, только параметров меньше)
Добавлено через 1 минуту
а-а, опять забылся, в вечном цикле добавь сон:
Были у меня догадки по этому поводу, а вы их утвердили..) Получается, надо использовать Windows.Forms.Timer и от него никуда не убежишь.
Я вчера пробовал dotPeek-ом просмотреть реализацию этих двух таймеров, чтобы понять их различие в середине, но там оказалось не все так просто, как я думал. разбираться придется очень долго..))
А такой вопрос: как на счет производительности этих таймеров? Есть различия или нет? по этому вопросу что-то ничего не нагуглил, может плохо искал. Просто вот в чем суть, почему я сначала так упорно не хотел использовать Windows.Forms.Timer. Программа фоновая и в ней постоянно работает таймер, который генерирует через определенные промежутки некоторые действия(которые с UI вообще никак не связаны и пользователю вообще ничего не выводится). Но если пользователь поменяет в настройках одну вещь(это 1% из 100. ), тогда при каждой генерации события этого таймера должна выводиться всплывашка возле трея (типа напоминание — то есть эта неактивированная форма поверх всех окон). То есть, в большинстве случаев таймер вообще не имеет ничего общего с интерфейсом. А на мсдн говорится, что Windows.Forms.Timer должен использоваться на форме. А в моей программе это условие выполняется лишь может один раз из 100.
То ничего нет плохого в производительности, что я буду использовать таймер для форм в такой ситуации?
Необходимо сделать форму поверх всех других окон
, якобы все Ок, программа находится поверх обычных программ, Но как вы уже догадались пишу я от Винлокера), так вот он пропадает = Как сделать его поверх?
Какую функцию капать в API?
P.s Прошу не жалуйтесь на меня, я пишу не вредоносную программу, а наоборот!)
.. Дайте примеров парочку)!
Добавлено через 24 минуты
Нашел 1 пример)
Но слишком сильно мерцает экран, как это исправить ( он то будет моргать, но как уменьшит его моргание)?? это все что меня интересует
Добавлено через 13 минут
Хех, стоило создавать тему) решил)) поставил на таймере 10 вместо 100 )
Какое свойство позволяет сделать форму поверх всех окон
Здравствуйте! У меня накопилось 3 вопроса: 1. Какое свойство позволяет сделать форму поверх.
Поместить форму поверх всех окон при нажатии клавиш
Добрый день уважаемые! У меня не получается сделать чтобы форма моей проги при нажатии комбинаций.
Показать форму поверх всех окон в системе при выборе CheckBox
Здравствуйте! Нужно сделать так, чтобы при нажатию на СheckBox показывалась форма поверх всех.
Развернуть форму на весь экран поверх всех окон при ее загрузке
Как реализовать? На лоаде формы this.WindowState = Maximized; не работает. 2) Что надо.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Показать одну форму на другой с учетом, что обе поверх всех окон
Задача такая. Есть главная форма, которая разворачивается на весь экран. Поверх неё не сворачивая.
Сделать окно поверх только своего приложения, но не всех окон в системе
Окно со свойством TopMost = true отображается поверх окон всех приложений. Можно ли сделать так.
Окно программы поверх других окон
Здравствуйте! Подскажите пожалуйста, нужно что-бы окно программы было постоянно поверх всех.
Как сделать форму поверх всех окон?
Подскажите. У меня простая прога. Одна форма. Хочу сделать её поверх всех окон. Подскажите также.