Это детализирует название этого стиля окна и параметры, доступные в .NET; см. отличный ответ @ Synetech о первоначальной цели этого стиля окна, причинах его использования в таком диалоговом окне и реализации в неуправляемых программах Windows, таких как Notepad++.
Окно имеет квадратные углы и выглядит так, потому что один из дизайнеров / программистов Notepad++ решил использовать определенный стиль окна. Synetech подробно описывает преимущества этого стиля окна.
В .NET/Visual Studio это устанавливается в свойстве FormBorderStyle
System.Windows.Forms.Form
класса. В частности, это FixedToolWindow
. Возможные значения в System.Windows.Forms.FormBorderStyle
.
Окно ToolWindow
в .NET со всеми значениями по умолчанию работает немного иначе, чем обычный WS_EX_TOOLWINDOW
в Windows API, хотя они выглядят одинаково. При тестировании, я определил , что они появляются на панели задач , и они появляются на переключателе задач Alt+Tab , если ShowInTaskbar
формы собственности не установлен в false
ShowInTaskbar
влияет на видимость как на панели задач, так и на Alt+Tab для ToolWindow
, но только на панель задач для других.
Между тем, также возможно удалить значки / свернуть / восстановить / развернуть кнопки из более распространенных стилей окна, хотя, кажется, невозможно добавить их в ToolWindow
. Также можно скрыть обычные окна с панели задач.
Насколько я могу судить, единственное функциональное преимущество WS_EX_TOOLWINDOW
- это то, что окно не появляется в Alt+Tab.
Я включил несколько скриншотов, сравнивающих стили окон .NET. Они не используются непосредственно Notepad++ и другими неуправляемыми программами, но называются Microsoft, поэтому ...
Возможные значения FormBorderStyle
:
Первое изображение - это скриншот работающей программы с включенной Aero, второе - из конструктора Visual Studio (без Aero).
Нажмите на изображение для полной версии
Описания взяты из статьи MSDN по перечислению FormBorderStyle
.
FixedSingle
Фиксированная однострочная граница.
Fixed3D
Фиксированная трехмерная граница.
FixedDialog
Толстая фиксированная граница в стиле диалога.
Sizable
(по умолчанию)
Изменяемая граница.
FixedToolWindow
Граница окна инструмента, размер которой не изменяется. Окно инструментов не появляется на панели задач или в окне, которое появляется, когда пользователь нажимает ALT+TAB. Хотя формы, которые указывают FixedToolWindow
обычно не отображаются на панели задач, вы также должны убедиться, что для свойства ShowInTaskbar
установлено значение false
, поскольку его значение по умолчанию - true
.
SizableToolWindow
Изменяемая граница окна инструмента. Окно инструментов не появляется на панели задач или в окне, которое появляется, когда пользователь нажимает ALT+TAB.