Visual studio поверх всех окон

Обновлено: 07.07.2024

Репутация: нет
Всего: нет

как можно сделать, чтобы моё приложение было поверх АБСОЛЮТНО ВСЕХ окон, даже Диспетчера + не сворачивалось?

Доктор Зло(диагност, настоящий, с лицензией и полномочиями)

Репутация: 18
Всего: 141

System.Windows.Forms.Form.MinimizeBox -> false
System.Windows.Forms.Form.MaximizeBox -> false

Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит

Репутация: нет
Всего: нет

ладно, поставлю вопрос по другому.
я пишу программу для тестов и мне надо чтобы окно было всегда на весь экран, если нельзя было свернуть или закрыть, и ничего нельзя открыть поверх него.

кстати, в этом случае Диспетчер всё таки появляется поверх

Доктор Зло(диагност, настоящий, с лицензией и полномочиями)

Репутация: 18
Всего: 141

FormBorderStyle -> None
WindowState -> Maximize
Ну и топмост конечно
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит

Репутация: нет
Всего: нет

ну да, в принципе подходит, спасибо (:
осталось найти как скрыть процесс или запретить его завершение

Доктор Зло(диагност, настоящий, с лицензией и полномочиями)

Репутация: 18
Всего: 141

Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит

Репутация: нет
Всего: нет

всё равно Диспетчер задач вылазит поверх моего приложения и через него можно приложение закрыть

Доктор Зло(диагност, настоящий, с лицензией и полномочиями)

Репутация: 18
Всего: 141


Закрыть его можно и через Alt+F4.
А в чём проблема то?
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит

Репутация: нет
Всего: нет

мне надо чтобы НЕЛЬЗЯ было закрыть

Доктор Зло(диагност, настоящий, с лицензией и полномочиями)

Репутация: 18
Всего: 141

У пользователя винды есть определённые возможности, независящие от того, что тебе надо(или НЕ НАДО). Думаю - то что тебе надо невозможно. Хотя я могу ошибаться.

Добавлено через 1 минуту и 32 секунды
Если запретить закрытие главного окна, проблему с Alt+F4 решишь, а вот с диспетчером.

Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит

Репутация: нет
Всего: нет

с Alt+F4 вроде решил, а с Диспечтером вспомнил, что там на компах он закрыт администратором

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

[ Время генерации скрипта: 0.1118 ] [ Использовано запросов: 21 ] [ GZIP включён ]

моя копия Visual Studio находится в режиме "всегда сверху". Он работает таким образом по умолчанию; там, кажется, нет никакого способа изменить его.

Visual Studio запускается от имени администратора / с повышенными правами, но это не должно влиять на то, работает ли Visual Studio как "всегда сверху"."

есть идеи, почему это может происходить,и как предотвратить это?

У меня было подобное происходит с Visual Studio застрял, как всегда на вершине. Это началось после того, как я нажал клавишу Windows, а затем кучу клавиш со стрелками / home/end/pageup / pagedn случайно (я хотел использовать клавишу управления).

то, что, казалось, очистить поведение всегда на вершине было выбрать другое приложение (например: Chrome), затем нажмите Windows-Home (который минимизировал все, кроме Chrome), а затем нажмите Window-Alt-Home. Затем я мог бы отменить минимизацию визуального Студия, и она больше не будет всегда на высоте.

это работало с VS2010, VS2012 и VS2013, когда они попали в этот странный режим always on top.

возможно, addin вызывает его? Попробуйте отключить надстройки в Tools / Add-in manager, а затем запустить Visual Studio в безопасном режиме, выполнив

Это работает для меня.

очень странно, хотя, в течение нескольких месяцев у меня не было этой проблемы,и ранее, когда я начал отладку, мое окно было за окном Visual Studio. Это показалось странным, как никогда раньше. Закрыл Visual Studio, снова открыл ее и альт.

использовать windowdetective чтобы проверить, если это на самом деле всегда онтоп Работать оттуда, чтобы определить причину.

может быть, по какой-то причине всегда на вершине свойство вашего Visual Studio (VS) сохраняется где-то, а затем перезагружается при запуске.
В зависимости от версии VS, вы можете использовать filebox eXtender(FBX), чтобы изменить его свойство always-on-top для каждого запуска или постоянно. Вероятно, лучше использовать версию, соответствующую вашей архитектуре Windows; 64-разрядная для x64 и 32-разрядная для x86. Кроме того, FBX, вероятно, может использоваться только для программ с повышенным уровнем запустить в режиме с повышенными правами (например, "запуск от имени администратора").
Всегда на вершине статус может быть переключен, нажав на кнопку в строке заголовка программы, когда filebox eXtender работает.

когда я получил эту проблему, я нашел решение обратной задачи в How-To Geek. К счастью, это включало переключатель, который я мог бы использовать, чтобы отключить режим "всегда сверху", в который попало окно Visual Studio. Согласно приведенной выше ссылке, я добавил Это в свой скрипт AutoHotkey

^пространство:: Winset, Alwaysontop, , а

, а затем я выбрал окно Visual Studio и используется ctrl-space для переключения всегда на вершине. Он работал как шарм.

Если вы не знакомы с системой Visual Studio, то поведение многочисленных инструментальных окон может показаться вам неправильным, потому что они появляются в случайных местах, а затем появляются и исчезают по мере того, как вы пишете код (этап проектирования) и выполняете его (время выполнения). На самом деле система Visual Studio 2013 запоминает расположение инструментальных окон для каждого из этих режимов работы, что позволяет оптимизировать разработку и отладку кода.

Открывая разные элементы в окне Solution Explorer, вы увидите множество инструментальных панелей, пересекающих верхнюю часть экрана, в зависимости от типа открытого файла. Каждая инструментальная панель имеет встроенную связь с конкретными расширениями файла, поэтому система Visual Studio знает, какую инструментальную панель отобразить, когда открывается тот или иной файл. Если вы закроете инструментальную панель в тот момент, когда файл с соответствующим расширением открыт, система Visual Studio запомнит ее, когда вы в будущем откроете файл с таким же расширением.

Связь между инструментальными панелями и расширениями файлов можно изменить с помощью команды Customize (Tools --> Customize). Выберите соответствующую инструментальную панель и щелкните на кнопке Reset.

Просмотр окон и инструментальных панелей

Если инструментальное окно или панель были закрыты, то иногда их трудно найти снова. К счастью, доступ к большинству наиболее часто используемых инструментальных окон можно получить с помощью окна View. Другие инструментальные окна, в основном связанные с отладкой, расположены под меню Debug.

Все инструментальные панели, доступные в системе Visual Studio 2013, перечислены в пункте меню View --> Toolbars. Каждая инструментальная панель, которую можно увидеть в текущий момент, отмечена галочкой возле соответствующего пункта меню. Вы можете также открыть список инструментальных панелей, щелкнув правой кнопкой мыши на любом свободном месте в области инструментальной панели в верхней части окна Visual Studio.

Если инструментальная панель является видимой, можете настроить ее с помощью кнопок, команды View --> Toolbars --> Customize или меню Tools. В качестве альтернативы, как показано на рисунке ниже, выбрав стрелку, направленную вниз и расположенную в конце инструментальной панели, можно открыть список всех кнопок, доступных на панели, и проверить кнопки, которые вы хотите на ней увидеть:

Список всех кнопок панели инструментов Visual Studio

Навигация по открытым элементам

Открыв множество элементов, вы обнаружите, что вышли за пределы области редактирования и больше не видите все открытые закладки. Разумеется, вы можете вернуться в окно Solution Explorer и выбрать конкретный элемент. Если он уже открыт, то будет показан на экране без возвращения в его сохраненное состояние. Однако этот способ неудобен, если требуется найти элемент управления в окне Solution Explorer.

К счастью, в системе Visual Studio 2013 есть много комбинаций клавиш для получения списка открытых элементов. Как и большинство документно-ориентированных приложений, система Visual Studio имеет меню Window. Когда вы открываете элемент, его заголовок добавляется в нижний раздел этого меню. Для того чтобы отобразить открытый элемент, только что выбранный в меню Window, щелкните на пункте меню Window.

В качестве альтернативы можно использовать выпадающее меню в окне области закладок области редактирования. На рисунке ниже показан раскрывающийся список открытых элементов, в котором можете выбрать требуемый элемент:

Открытие скрытых вкладок в Visual Studio

Правая часть рисунка выше совпадает с левой частью, за исключением выпадающей пиктограммы. Это меню также содержит стрелку, направленную вниз, но на этот раз она имеет черту, параллельную верхней границе окна. Эта черта означает, что количество закладок превышает число закладок, которые могут поместиться в верхней части области редактирования.

Еще один способ навигации по открытым элементам - нажать комбинацию клавиш Ctrl+Tab , которая открывает временное окно, показанное на рисунке ниже:

Перемещение между открытыми вкладками в Visual Studio

Это окно является временным потому, что исчезнет, когда вы отпустите клавишу Ctrl. Но пока она нажат окно остается открытым, для перемещения из одного открытого окна в другое можно использовать клавиши навигации (со стрелками ←↑→↓ ) или клавишу табуляции ( Tab ).

Окно, открывающееся после нажатия клавиш Ctrl+Tab , разделено на три части: активные инструментальные окна, активные файлы (эти элементы должны быть действительно активными, потому что некоторые элементы могут соответствовать нескольким файлам) и окно просмотра выбранного элемента. По мере увеличения количества активных файлов или инструментальных окон нижняя граница этого окна отодвигается вниз, пока количество элементов не достигнет пятнадцати, после чего создастся дополнительный столбец.

Если вы достигли момента, когда возникает дополнительный столбец активных файлов, то следует подумать о том, не закрыть ли некоторые или все не используемые файлы. Чем больше файлов открыто в системе Visuali Studio 2013, тем больше памяти она использует и тем медленнее работает.

Щелкнув правой кнопкой мыши на закладке, содержащей открытый элемент, вы увидите скрытое контекстное меню, обеспечивающее быстрый доступ к наиболее часто выполняемым задачам, таким как сохранение или закрытие файла, связанного с данной закладкой. Наиболее полезными действиями являются команды Close All But This и Open Containing Folder. Эти команды самоочевидны: первая из них закрывает все закладки, за исключением той, на которой вы щелкнули, чтобы открыть контекстное меню, а вторая - открывает каталог, содержащий файл, в проводнике Windows. Поскольку все окна являются плавающими, у них есть команды Float и Dock as Tabbed Document, которые становятся доступными в зависимости от того, в каком состоянии находится закладка.

Плавающие окна

Каждое инструментальное окно имеет положение, заданное по умолчанию, которое можно восстановить с помощью команды меню View. Например, команда View --> Toolbox открывает инструментальное окно Toolbox, прикрепленное к левому краю окна Visual Studio. Помимо того, что инструментальное окно может быть открыто и прикреплено в краю экрана, оно может находиться в двух состояниях: закрепленном и открепленном. Как уже говорилось, вы можете переключаться между этими состояниями, щелкая на значке вертикальной булавки, чтобы открепить инструментальное окно, или на значке горизонтальной булавки, чтобы закрепить его.

Открепленное окно смещается от края рабочей области интегрированной среды разработки, оставляя видимым дескриптор, в котором отображается заголовок данного инструментального окна. Такая анимация может показаться надоедливой и занимает много времени, если инструментальные окна оставить открепленными. Эту ситуацию можно контролировать либо с помощью узла Environment диалогового окна Options, указав, должна ли система Visual Studio автоматически учитывать опыт зрительного восприятия, основанный на эффективности работы клиента, либо отключив опцию Enable rich client visual experience.

Большинство разработчиков устраивает расположение инструментальных окон, заданное по умолчанию, но иногда они хотят самостоятельно указать место, где должно появляться инструментальное окно. Среда Visual Studio 2013 имеет изощренную систему управления компоновками инструментальных окон. Ранее было показано, как использовать выпадающие меню, а также кнопки Pin и Close, расположенные в верхней части инструментального окна, чтобы сделать плавающим (floating) или закрепляемым (dockable) не только окно, но и часть основной области редактирования (используя команду Tabbed Document).

Если инструментальное окно является закрепляемым, то у вас есть множество возможностей для управления его местоположением. На рисунке ниже показана верхняя часть окна Properties, которое было перетащено вправо из своего первоначального положения, заданного по умолчанию. Для того чтобы начать перетаскивание, убедитесь, что инструментальное окно находится в закрепленном состоянии, а затем щелкните либо на заголовке, расположенном в верхней части окна, либо на ярлыке, расположенном внизу окна, и перетащите курсор мыши в требуемом направлении. Если вы щелкнете на заголовке, то увидите, что все инструментальные окна в этом разделе интегрированной среды разработки также переместятся. Щелкнув на ярлыке, вы переместите только соответствующее инструментальное окно.

Перемещение панели в Visual Studio

Перетаскивая инструментальное окно по рабочей области системы Visual Studio 2013, вы увидите полупрозрачные пиктограммы, появляющиеся в разных местах. Эти пиктограммы оказывают большую помощь при выборе точной позиции. На рисунке ниже показано, окно Data Sources было прикреплено к левому краю. Затем, когда окно Properties было установлено над левой пиктограммой средней части экрана, в существующем инструментальном окне вновь возникла голубая тень. Это означает, что инструментальное окно Properties было прикреплено к правому краю инструментального окна Data Sources и будет видимым, если выбрана именно эта компоновка окна. Если бы была выбрана левая пиктограмма, то инструментальное окно Properties было бы снова прикреплено к левому краю рабочей области, но на этот раз слева от окна Data Sources.

Пример простой компоновки двух панелей в Visual Studio

Кроме того, если инструментальное окно Properties поместить поверх инструментального окна Data Sources, как показано на следующем рисунке, то средняя часть будет размещена поверх существующего инструментального окна. Это значит, что инструментальное окно Properties будет размещено в существующем инструментальном окне. Перемещая окно поверх разных квадрантов, вы увидите, что голубая тень означает, где будет размещено инструментальное окно, когда вы отпустите кнопку мыши. На рисунке ниже это означает, что инструментальное окно Properties появится ниже инструментального окна Data Sources:

Размещение панели внутри другой панели

Если вы работаете с большим экраном или с несколькими экранами, целесообразно уделить особое внимание удобной компоновке часто используемых инструментальных окон. Если вы работаете с несколькими экранами, то использование плавающих инструментальных окон означает, что вы можете размещать их далеко от основной области редактирования, обеспечивая максимальную площадь экрана. Если у вас маленький экран, то придется постоянно указывать, какое окно является видимым, и в этом случае важно хорошо разбираться в компоновке закрепленных окон.

Я хочу, чтобы мое окно было поверх всех других окон в моем приложении только. Если я устанавливаю самое верхнее свойство окна, оно становится поверх всех окон всех приложений, и я этого не хочу.

необходимо задать свойство owner окна.

вы можете показать окно через showdialog, чтобы заблокировать главное окно, или вы можете показать его нормально и иметь его на вершине владельца без блокировки владельца.

вот пример codeexample части codebehind - я пропустил все очевидные вещи:

вместо этого вы можете использовать всплывающее окно, которое всегда будет самым верхним, украсить его подобно окну и прикрепить его полностью с помощью приложения обрабатывать событие LocationChanged вашего главного окна и установить свойство Isopen Popup в false.

Я надеюсь, что вы хотите, что-то вроде этого:

надеюсь, что это помогает.

используйте метод Activate (). Это попытка вывести окно на передний план и активировать его. например, окно wnd = new xyz(); wnd.Активировать ();

лучший способ-это установить эти два события для всех окон приложения:

  • и, конечно, все окна, которые вы хотели бы быть сверху, должны быть доступны из других окон вашего приложения. в моем случае у меня есть базовое окно и еще несколько окон, которые должны быть вверху моего базового окна, поэтому это было неплохо, чтобы мое базовое окно имело экземпляр каждого другого окна.

я столкнулся с очень похожей ситуацией, как и вы. Большая часть поиск я наткнулся на заявил, что все, что мне нужно сделать, это установить владельца окон, которые я хочу быть самым верхним к главному окну или любому окну, которое называется Шоу.

в любом случае, я пойду вперед и опубликую решение, которое хорошо сработало для меня.

Я создал обработчики событий для Window.Активировано и окно.Деактивирован в окне, которое должно было быть самым верхним по отношению к моему приложению.

Он отлично работает для меня. Надеюсь, это пригодится кому-то еще. : o)

во всплывающем окне перегружает метод Show () параметром:

затем в главном окне вызовите перегруженный метод Show ():

просто сделать это в XAML, и удивлен, что никто еще не опубликовал этот ответ. В следующем примере Window определена в ResourceLibrary (уведомление x:Key ), но вы также можете использовать эту привязку XAML для автономного Page -стиль ресурса WPF.

Я ОП. После некоторых исследований и тестирования ответ:

нет, нет никакого способа, чтобы сделать ровно что.

вы можете добавить это в свои теги windows

затем вы также можете отобразить его, если хотите, чтобы ваши пользователи признали его, чтобы продолжить

сначала попробуйте без верхних параметров и посмотрите результаты.

вот как это сделать: Сделайте ваше" верхнее " окно подписаться на другие события windows GotFocus и LostFocus и использовать следующие обработчики событий:

Как насчет htis:

Я тоже столкнулся с той же проблемой и последовал за Google на этот вопрос. Недавно я обнаружил, что для меня работает следующее.

Я только что столкнулся с этой же проблемой. У меня есть настольное приложение с несколькими окнами WPF, и мне нужно, чтобы мой пользовательский заставка была поверх других окон только в моем приложении. Никакие другие окна не открываются, когда появляется мой заставка, но я открываю главное окно из моего заставки после некоторой аутентификации. Поэтому я просто сделал что-то похожее на то, что сделал @GlenSlayden, но в коде позади, так как, как я сказал, MainWindow не для меня, чтобы привязаться к:

сейчас, пока мой программа загружает все остальные окна из главного окна, заставка находится сверху, но пока программа аутентифицирует пользователя, она не самая верхняя, поэтому вы можете щелкнуть по какой-то другой программе, и она спрячется за ней. Это самое близкое, что я мог найти для решения этой проблемы. Это не идеально, потому что он по-прежнему идет поверх всех других приложений, пока моя программа загружается после аутентификации, но это не очень долго в моем случае.

1) начать новый проект.

2) Перейдите в проект, затем в новую форму Windows, затем выберите Windows Form и Name Splash.

3) настроить размер, фон, текст и т. д. По желанию.

4) В разделе свойства всплеска.cs форма установить начальную позицию: Центральный экран и верхний: true

5) формы form1 добавить "с помощью системы.Нить;"

6) form1 в разделе класс добавить " Splash splashscreen = new Splash ();"

7) form1 добавить " splashscreen.Show (); "and" Application.DoEvents ();"

8) form1 в разделе События> > фокус> > активировано добавить " поток.Сон(4000); splashscreen.Close ();"

9) всплеск.cs добавить в разделе "Public Splash" добавить " это.Цвет Фона = Цвет.Aqua; " / может использовать любой цвет

10) это код для формы 1.cs

11) это код на Splash.cs

12) я обнаружил, что если вы не делаете что-то в заставке, то экран не будет оставаться на вершине в течение того времени, первая форма должна активировать. Количество потоков исчезнет всплеск через x секунд, так что ваша программа в норме.

Читайте также: