Visual studio поверх всех окон отключить
Если вы не знакомы с системой 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. В качестве альтернативы, как показано на рисунке ниже, выбрав стрелку, направленную вниз и расположенную в конце инструментальной панели, можно открыть список всех кнопок, доступных на панели, и проверить кнопки, которые вы хотите на ней увидеть:
Навигация по открытым элементам
Открыв множество элементов, вы обнаружите, что вышли за пределы области редактирования и больше не видите все открытые закладки. Разумеется, вы можете вернуться в окно Solution Explorer и выбрать конкретный элемент. Если он уже открыт, то будет показан на экране без возвращения в его сохраненное состояние. Однако этот способ неудобен, если требуется найти элемент управления в окне Solution Explorer.
К счастью, в системе Visual Studio 2013 есть много комбинаций клавиш для получения списка открытых элементов. Как и большинство документно-ориентированных приложений, система Visual Studio имеет меню Window. Когда вы открываете элемент, его заголовок добавляется в нижний раздел этого меню. Для того чтобы отобразить открытый элемент, только что выбранный в меню Window, щелкните на пункте меню Window.
В качестве альтернативы можно использовать выпадающее меню в окне области закладок области редактирования. На рисунке ниже показан раскрывающийся список открытых элементов, в котором можете выбрать требуемый элемент:
Правая часть рисунка выше совпадает с левой частью, за исключением выпадающей пиктограммы. Это меню также содержит стрелку, направленную вниз, но на этот раз она имеет черту, параллельную верхней границе окна. Эта черта означает, что количество закладок превышает число закладок, которые могут поместиться в верхней части области редактирования.
Еще один способ навигации по открытым элементам - нажать комбинацию клавиш Ctrl+Tab , которая открывает временное окно, показанное на рисунке ниже:
Это окно является временным потому, что исчезнет, когда вы отпустите клавишу 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 2013, вы увидите полупрозрачные пиктограммы, появляющиеся в разных местах. Эти пиктограммы оказывают большую помощь при выборе точной позиции. На рисунке ниже показано, окно Data Sources было прикреплено к левому краю. Затем, когда окно Properties было установлено над левой пиктограммой средней части экрана, в существующем инструментальном окне вновь возникла голубая тень. Это означает, что инструментальное окно Properties было прикреплено к правому краю инструментального окна Data Sources и будет видимым, если выбрана именно эта компоновка окна. Если бы была выбрана левая пиктограмма, то инструментальное окно Properties было бы снова прикреплено к левому краю рабочей области, но на этот раз слева от окна Data Sources.
Кроме того, если инструментальное окно Properties поместить поверх инструментального окна Data Sources, как показано на следующем рисунке, то средняя часть будет размещена поверх существующего инструментального окна. Это значит, что инструментальное окно Properties будет размещено в существующем инструментальном окне. Перемещая окно поверх разных квадрантов, вы увидите, что голубая тень означает, где будет размещено инструментальное окно, когда вы отпустите кнопку мыши. На рисунке ниже это означает, что инструментальное окно Properties появится ниже инструментального окна Data Sources:
Если вы работаете с большим экраном или с несколькими экранами, целесообразно уделить особое внимание удобной компоновке часто используемых инструментальных окон. Если вы работаете с несколькими экранами, то использование плавающих инструментальных окон означает, что вы можете размещать их далеко от основной области редактирования, обеспечивая максимальную площадь экрана. Если у вас маленький экран, то придется постоянно указывать, какое окно является видимым, и в этом случае важно хорошо разбираться в компоновке закрепленных окон.
моя копия 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, во время следующего открытия Visual Studio окно обозревателя решений будет закреплено в том же месте, даже если работа будет продолжена на другом компьютере.
Можно также присвоить настраиваемому макету имя, сохранить его, а затем переключаться между макетами с помощью одной команды. Например, можно создать один макет для редактирования, а другой — для отладки и переключаться между ними с помощью команды меню Окно > Применить макет окна.
Окна инструментов и документов
В среде IDE существует два основных типа окон: окна инструментов и окна документов. В число окон инструментов входят обозреватель решений, обозреватель сервера, окно вывода, список ошибок, конструкторы, окна отладчика и т. д. Окна документов содержат файлы исходного кода, произвольные текстовые файлы, файлы конфигурации и т. д. Изменять размер и перетаскивать окна инструментов можно с помощью их строки заголовка. Перетаскивание окон документов осуществляется с помощью вкладки. Правой кнопкой мыши щелкните вкладку или строку заголовка, чтобы задать другие параметры для окна.
В меню Окно находятся параметры закрепления, перемещения и скрытия окон в интегрированной среде разработки. Щелкните правой кнопкой мыши вкладку или строку заголовка окна, чтобы просмотреть дополнительные параметры для этого конкретного окна. Одновременно можно отображать несколько экземпляров окон инструментов. Например, можно открыть несколько окон веб-браузера. Кроме того, можно создать дополнительные экземпляры некоторых окон инструментов, выбрав команду Создать окно в меню Окно .
Разделение окон
Если в документе необходимо одновременно просмотреть или изменить два различных места, можно разделить окна. Чтобы разделить документ на две части с независимой прокруткой, выберите Разделить в меню Окно . Чтобы восстановить единое представление, выберите Снять разделение в меню Окно .
Вкладки
С помощью вкладок вы можете размещать макеты различными способами. Например, можно предварительно просматривать файл в редакторе, не открывая файл, группировать вкладки и выполнять многие другие задачи.
Вкладка предварительного просмотра (окна документов)
На вкладке Предварительный просмотр можно просматривать файлы в редакторе, не открывая их. Просмотреть файлы можно путем их выбора в обозревателе решений, во время отладки при заходе в файлы, с помощью команды Перейти к определению, а также при просмотре результатов поиска. Файлы для предварительного просмотра отображаются на вкладке в правой части вкладки документа. Файл становится доступным для редактирования при его изменении или выборе команды Открыть.
Вертикальные вкладки документов
Новые возможности в версии 16.4. В выпуск Visual Studio 2019 версии 16.4 мы добавили одну из наиболее часто запрашиваемых функций — вертикальные вкладки документов. Теперь вы можете управлять вкладками документов в вертикальном списке в левой или правой части редактора.
Вертикальные вкладки документов можно применить следующими способами:
Последовательно выберите элементы Средства > Параметры > Среда > Вкладки и окна в строке меню. Затем в раскрывающемся списке Задать макет вкладки выберите элемент Сверху, Слева или Справа.
Щелкните вкладку правой кнопкой мыши, выберите команду Задать макет вкладки и щелкните элемент Слева или Справа (чтобы вернуть вкладки в расположение по умолчанию, выберите элемент Сверху).
Группы вкладок
Группы вкладок расширяют возможности управления ограниченной рабочей областью при работе с двумя или более открытыми документами в интегрированной среде разработки. Несколько окон документов и окон инструментов можно упорядочить в вертикальные или горизонтальные группы вкладок и затем без труда переносить документы из одной группы в другую.
Панели инструментов
Вы можете разместить панели инструментов требуемым образом, перетащив их в нужное расположение, или используя диалоговое окно Настройка. Дополнительные сведения о размещении и настройке панелей инструментов см. в статье Практическое руководство. Настройка меню и панелей инструментов.
Размещение и закрепление окон
Окно документов или окно инструментов можно закрепить, чтобы задать для них расположение и размер в рамках окна среды IDE. Либо вы можете сделать эти окна плавающими, то есть независимыми от IDE.
Окно инструментов можно закрепить в любом расположении в пределах фрейма IDE. Вы можете закрепить некоторые окна инструментов в виде окон с вкладками в фрейме редактора. Также вы можете закрепить окна документов в пределах фрейма редактора либо в текущем расположении в последовательности перехода.
Кроме того, можно закрепить несколько окон для совместного перемещения в среде IDE или за ее пределами. Окна инструментов можно скрывать или сворачивать.
Существуют следующие способы размещения окон.
Закрепление окон документов в левой части вкладки.
Прикрепление окон в виде вкладок к области редактирования.
Закрепление окон инструментов по краю области интегрированной среды разработки.
Перемещение окно документов или окно инструментов по интегрированной среде разработки или за ее пределами.
Скрытие окон инструментов вдоль края интегрированной среды разработки.
Отображение окон на разных мониторах.
Сброс расположения окон до макета по умолчанию или до сохраненного настраиваемого макета.
Чтобы расположить окна инструментов и документов, поместите указатель в строку заголовка окна и перетащите его в нужное расположение. Также можно щелкнуть заголовок окна правой кнопкой мыши, чтобы использовать его контекстное меню, либо применить команды в меню Окно.
Закрепление окон
При щелчке и перетаскивании строки заголовка окна инструмента или вкладки окна документа появляется маркер в виде ромба. Во время операции перетаскивания, когда указатель мыши наведен на одну из стрелок в ромбе, будет отображена затененная область, показывающая место закрепления окна после отпускания кнопки мыши.
Чтобы переместить закрепляемое окно без прикрепления к месту, во время перетаскивания окна нажмите клавишу CTRL.
Чтобы вернуть окно инструмента или окно документа в последнее место закрепления, нажмите клавишу CTRL во время выполнения двойного щелчка по заголовку или вкладке окна.
На следующем рисунке показан маркер в виде ромба для окон документов, которые могут быть закреплены только в рамках области редактирования.
Окна инструментов можно прикрепить к одной стороне рамки в интегрированной среде разработки или в пределах области редактирования. Маркер в виде ромба появляется при перетаскивании окна инструмента в другое место и упрощает процесс закрепления.
На следующем рисунке показан обозреватель решений, закрепленный в новом месте, выделенном синим цветом:
Закрытие и автоматическое скрытие окон инструментов
Чтобы закрыть окно инструментов, нажмите кнопку X в верхнем правом углу заголовка окна. Для повторного открытия окна используйте соответствующее сочетание клавиш или команду меню. Окна инструментов поддерживают возможность автоматического скрытия, позволяющую выводить окно из поля зрения при использовании другого окна. Если окно автоматически скрыто, его имя отображается на вкладке на краю интегрированной среды разработки. Для повторного использования окна наведите указатель на вкладку, в результате чего окно возвращается обратно в представление.
Окна инструментов, для которых включена функция автоматического скрытия, могут временно становиться видимыми, когда они находятся в фокусе. Чтобы снова скрыть окно, выберите элемент за пределами текущего окна. При потере фокуса окно скрывается.
Использование второго монитора
Если имеется второй монитор, который поддерживается операционной системой, можно выбрать, в каком мониторе будет отображаться окно. Можно даже сгруппировать несколько окон в блоки на других мониторах.
Можно создать несколько экземпляров обозревателе решений и переместить их на другой монитор. Щелкните окно правой кнопкой мыши и выберите команду Создать представление обозревателя решений. Все окна можно вернуть на исходный монитор, щелкнув их дважды, удерживая нажатой клавишу CTRL.
Сброс, задание имен и переключение между макетами окон
Для возвращения исходного макета окон интегрированной среды разработки используется команда Сбросить макет окон . При запуске этой команды выполняются следующие действия.
Все окна перемещаются в расположения по умолчанию.
Окна, которые закрыты в макете по умолчанию, закрываются.
Окна, которые открыты в макете по умолчанию, открываются.
Создание и сохранение пользовательских макетов
Visual Studio позволяет сохранять до 10 пользовательских макетов окон и быстро переключаться между ними. В приведенных ниже инструкциях показано, как создавать, сохранять, вызывать пользовательские макеты, использующие несколько мониторов как с закрепленными окнами средств, так и с перемещаемыми, а также управлять ими.
Сначала создайте тестовое решение с двумя проектами, каждый с отдельным оптимальным макетом.
Создание проекта пользовательского интерфейса и настройка макета
Если у вас несколько мониторов, переместите окна Обозреватель решений и Свойства на второй монитор. В системе с одним монитором закройте все окна, кроме окна конструктора.
Нажмите клавиши CTRL+ALT+X, чтобы отобразить окно Панель элементов. Если окно закреплено, перетащите его в нужное место.
Нажмите клавишу F5, чтобы включить в Visual Studio режим отладки. Настройте расположение окон отладки Автоматические, Стек вызовов и Выходные данные. Макет, который вы собираетесь создать, применит к ним режим редактирования и режим отладки.
Когда макеты будут открыты в режиме отладки и редактирования, выберите Окно > Сохранить макет окна. Назовите этот макет "Конструктор".
Обратите внимание, что новому макету назначается сочетание клавиш из зарезервированного списка CTRL+ALT+1. 0.
Создание проекта и макета базы данных
Добавьте в решение новый проект База данных SQL Server .
Щелкните правой кнопкой мыши новый проект в обозревателе решений и выберите пункт Просмотр в обозревателе объектов. Отобразится окно Обозреватель объектов SQL Server , в котором можно открывать таблицы, представления и другие объекты в базе данных. Это окно можно переместить или оставить закрепленным. Настройте другие окна средства. Для реалистичности можно добавить существующую базу данных, но это необязательно для данного пошагового руководства.
После настройки макета выберите в главном меню пункт Окно > Сохранить макет окна. Назовите этот макет "Проект базы данных". (Для этого проекта не будет использоваться макет в режиме отладки.)
Переключение между макетами
Для переключения между макетами используйте сочетания клавиш или выберите в главном меню пункт Окно > Применить макет окна.
После применения макета пользовательского интерфейса обратите внимание на то, как выглядит макет в режиме редактирования и в режиме отладки.
Если у вас установлено несколько мониторов на работе и один ноутбук дома, можно создать макеты, оптимизированные для всех компьютеров.
Если макет для нескольких мониторов применить в системе с одним монитором, плавающие окна на втором мониторе будут находиться за окном Visual Studio. Эти окна можно переместить на передний план, нажав клавиши ALT+TAB. Если позже открыть Visual Studio в системе с несколькими мониторами, можно восстановить окна в указанных расположениях, повторно применив макет.
Управление макетами и перемещение их
Пользовательский макет можно удалить, переименовать или переупорядочить. Для этого последовательно выберите элементы Окно > Управление макетами окон. Если переместить макет, привязка ключей будет настроена автоматически и отобразит новое положение в списке. Привязки нельзя изменить другим способом. Таким образом, одновременно можно хранить не больше 10 макетов.
Чтобы вспомнить, какие сочетания клавиш назначены макетам, выберите Окно > Применить макет окна.
Эти макеты автоматически передаются между выпусками Visual Studio, между экземплярами Blend на отдельных компьютерах и из любого выпуска Express в любую другую организацию Express. Но макеты нельзя перемещать между Visual Studio, Blend и Express.
Я хочу, чтобы мое окно было поверх всех других окон только в моем приложении. Если я устанавливаю свойство TopMost окна, он становится поверх всех окон всех приложений, и я не хочу этого.
Хотя вопрос довольно старый, я просто должен сделать этот комментарий . Ваш вопрос плюс комментарий довольно странный, вы хотите, чтобы ваше окно было в верхней части вашего приложения, но в своем комментарии вы заявляете, что приложение не запущено поскольку это первое окно (заставка), как ваше окно может быть поверх несуществующего приложения. Это только заставляет меня задуматься, как в мире этот вопрос может получить 16 голосов. Когда приложение запускается, другого окна нет, но главное окно появляется вскоре после этого и должно оставаться за заставкой, пока все не загрузится.Я OP. После некоторых исследований и тестирования ответ:
Нет, нет никакого способа сделать именно это.
неправильно - вы хотите владелец собственности . см. мой ответ ниже.Вам нужно установить свойство владельца окна.
Вы можете показать окно через showdialog, чтобы заблокировать ваше главное окно, или вы можете показать его в обычном режиме, и иметь его поверх владельца без блокировки владельца.
вот codeexample части кода. Я оставил все очевидные вещи:
Это именно то, что я искал - как открыть новое окно, которое сохраняет фокус / активность до закрытия. Спасибо. Лучше добавить myOwnedDialog.ShowInTaskbar = false; в NewWindowAsDialogВместо этого вы можете использовать всплывающее окно, которое всегда будет TopMost, украсить его подобно окну и полностью его привязать к вашему приложению, обработать событие LocationChanged вашего основного окна и установить для свойства IsOpen Popup значение false.
Надеюсь, вы хотите что-то вроде этого:
Надеюсь, это поможет.
Всплывающее окно является элементом управления и не может использоваться в качестве отдельного окна. Мне нужно это отдельное окно. Можете ли вы дать некоторые объяснения вместе с вашим кодом - это поможет всем понять ваш ответ Если вы настроите окно так, оно будет вести себя как нужно. Окно будет поверх всех остальных окон приложения У меня не сработало «исключение нулевой ссылки». Мой диалог - это окно WPF, но приложение и главное окно - это WinForms. Это сделает его модальным. Хотите, чтобы вторичное окно находилось перед главным окном, но имейте возможность взаимодействовать с главным окном.Лучший способ установить эти два события для всех окон вашего приложения:
- и, конечно же, все окна, которые вы хотели бы быть наверху, должны быть доступны из других окон вашего приложения. в моем случае у меня есть базовое окно и еще несколько окон, которые должны быть в верхней части моего базового окна, поэтому это было неплохо, чтобы мое базовое окно имело экземпляр каждого другого окна.
В всплывающем окне перегружает метод Show() с параметром:
Затем в главном окне вызовите ваш перегруженный метод Show():
Я столкнулся с такой же ситуацией, как и вы. Большинство поисковых запросов Я натолкнулся на то, что все, что мне нужно было сделать, это установить Владельца окон, которые я хочу быть самым верхним в главном окне или что-то еще окно, которое называется Show.
В любом случае, я пойду вперед и опубликую решение, которое сработало для меня.
Я создал обработчики событий для Window.Activated и Window.Deactived в окне, которое должно было быть Topmost в отношении моего приложения.
Это отлично работает для меня. Надеюсь, это полезно кому-то другому.: О)
Когда я нажимаю на другое приложение, мое окно больше не активно, поэтому для Topmost никогда не устанавливается значение false. Я смог заставить это работать, проверяя Topmost в операторе if, а не IsActive: if (ownWindow.Topmost) .используйте метод Activate(). Это пытается вывести окно на передний план и активировать его. например Window wnd = new xyz(); wnd.Activate();
Этот вопрос для Windows Forms. У меня есть окно WPF. Я не могу установить свойство Owner, потому что в моем случае окно создается раньше любых других окон. Поэтому у меня нет другого окна для установки в качестве владельца.Просто сделать это в XAML, и удивился, что никто еще не отправил этот ответ. В следующем примере Window определяется в ResourceLibrary (обратите внимание на x:Key ), но вы также можете использовать эту привязку XAML на автономном ресурсе WPF Page .
Вы можете добавить это в свои теги Windows
Затем вы также можете отобразить его, если хотите, чтобы ваши пользователи подтвердили его, чтобы продолжить
Сначала попробуйте его без параметров TopMost и посмотрите результаты.
Я не хочу модальное окно. Просто окно верхнего уровня. так почему бы просто не использовать WindowStartupLocation = "CenterScreen" Потому что если пользователь щелкнет другое окно, которое находится позади, оно не останется сверху. Я хочу, чтобы он всегда был сверху, но я не хочу, чтобы он блокировал другие окна (это то, что делают модальные). Кстати, WindowStartupLocation влияет только на начальные значения свойств Top и Left окна, когда оно открывается; это не влияет на порядок Z. Вы правы насчет расположения WindowStartup. Тем не менее, я не понимаю, удобство использования окна поверх всех остальных окон и все еще не блокировать их. Не могли бы вы подробнее рассказать об этом? Вы хотите, чтобы это окно было сверху, но все же можно было что-то изменить в других окнах? В общем, окна инструментов работают так. Например, вы можете отсоединить панель инструментов «Инструменты» в Visual Studio и поместить ее поверх окна вашего кода. Вы все еще можете печатать в окнах кода, даже если это окно находится сверху. Если вы поместите Блокнот поверх Visual Studio, Блокнот скроет окно Инструменты. Следовательно, эти окна расположены поверх всех окон в Visual Studio, но не поверх всех окон системы.Я столкнулся с этой проблемой. У меня есть настольное приложение, в котором есть несколько окон WPF, и мне нужен был собственный экран заставки, который будет поверх других окон только в моем приложении. Никакие другие окна не открываются, когда мой экран заставки появляется, но я открываю MainWindow из моего заставки после некоторой аутентификации. Поэтому я просто сделал что-то похожее на то, что сделал @GlenSlayden, но в коде, поскольку, как я уже сказал, MainWindow не для меня привязан к:
Теперь, когда моя программа загружает все остальные окна из MainWindow, экран заставки находится сверху, но пока программа выполняет аутентификацию пользователя, она не самая верхняя, поэтому вы можете щелкнуть по какой-либо другой программе, и она скроет за этим. Это самое близкое, что я мог бы найти для решения этой проблемы. Он не идеален, потому что он по-прежнему проходит поверх всех других приложений, пока моя программа загружается после аутентификации, но это не очень долго в моем случае.
Некоторые приложения для Windows обладают опцией, которая позволяет им всегда находится поверх остальных окон. Однако не все приложения разработаны таким образом, поэтому когда пользователь нажимает на рабочий стол или другое окно, текущее окно теряет фокус и переходит на второй план. К нашей радости, существует небольшое приложение Window On Top, которое позволяет любому окну всегда оставаться поверх других. Приложение не имеет графического интерфейса и спокойно проживает в системном трее, не мешая рабочему процессу пользователя. Window On Top будет полезно в тех случаях, когда нужно, чтобы определенная папка или программа (например, мультимедийный плеер, редактор документов и т.д.) постоянно находились в поле зрения по время выполнения других задач.
Window On Top представляет собой портативный инструмент, то есть не требует установки, и очень легкий (около 850 Кб), так что на производительность вашей системы программа никак не повлияет. Использовать программу также достаточно просто. Все что вам нужно сделать, это выбрать окно, которое должно оставаться в фокусе и нажать сочетание клавиш Ctrl + T. Это же сочетание отключает поведение «Поверх всех окон» для выбранного окна. Текущая версия приложения не позволяет задавать собственные горячие клавиши, так что вам придется иметь дело с комбинацией по умолчанию.
Вам может быть интересно: Запуск на этом компьютере невозможенЗагрузите архив с приложением (ссылка в конце поста) и извлеките исполняемый файл любым архиватором. Как только вы запустите EXE-файл, программа начнет работать в фоновом режиме, при этом в системном трее появится соответствующая иконка.
Щелчок правой кнопкой мыши по значку приложения на панели задач предоставляет несколько основных элементов управления. Опция Suspend Hotkeys позволяет отключить горячие клавиши, которые используются для активации режима, при котором выбранные окна работают поверх остальных, а опция Pause Script временно отключает скрипт и возвращает все окна в обычный режим работы.
Я успешно протестировал работу программы с различными типами окон, в том числе диалоговые окна, веб-браузеры, «Диспетчер задач» и даже «Калькулятор».
Window On Top работает на Windows XP, Vista, 7 и 8. Тестирование проводилось на Windows 8 Pro.
Читайте также: