Questo dettaglia il nome di questo stile di finestra e le opzioni disponibili in .NET; vedere l'eccellente risposta di @ Synetech per lo scopo originale di questo stile di finestra, i motivi per cui può essere usato per una tale finestra di dialogo e l'implementazione in programmi Windows non gestiti come Notepad ++.
La finestra ha gli angoli quadrati e appare così perché uno dei designer / programmatori di Notepad ++ ha deciso di utilizzare uno stile di finestra specifico. Synetech descrive in dettaglio i vantaggi di quello stile di finestra.
In .NET / Visual Studio, questo è impostato nella FormBorderStyle
proprietà della System.Windows.Forms.Form
classe. In particolare, è il FixedToolWindow
. I possibili valori sono System.Windows.Forms.FormBorderStyle
nell'enumerazione.
Gli ToolWindow
s in .NET con tutti i valori predefiniti funzionano in modo leggermente diverso da un piano WS_EX_TOOLWINDOW
nell'API di Windows, sebbene abbiano lo stesso aspetto. Con il test, ho deciso che non appaiono sulla barra delle applicazioni e non appaiono sul Alt+ Tabtask switcher a meno che la proprietà del modulo ShowInTaskbar
è impostato false
. ShowInTaskbar
influenza la visibilità sia nella barra delle applicazioni sia in Alt+ Tabper ToolWindow
s, ma solo nella barra delle applicazioni per gli altri.
Nel frattempo, è anche possibile rimuovere l'icona / minimizzare / ripristinare / ingrandire i pulsanti dagli stili di finestra più comuni, sebbene non sia possibile aggiungerli a ToolWindow
s. È anche possibile nascondere le finestre normali dalla barra delle applicazioni.
L'unico vantaggio funzionale offerto WS_EX_TOOLWINDOW
, per quanto ne so, è che la finestra non appare in Alt+ Tab.
Ho incluso alcuni screenshot confrontando gli stili di finestra .NET. Questi non sono utilizzati direttamente da Notepad ++, né altri programmi non gestiti, ma sono denominati da Microsoft, quindi ...
Possibili valori di FormBorderStyle
:
La prima immagine è uno screenshot del programma in esecuzione con Aero abilitato, la seconda è dalla vista del designer di Visual Studio (no Aero).
Clicca le immagini per le versioni full size
Le descrizioni sono prese dal articolo di MSDN sulla FormBorderStyle
enumerazione.
FixedSingle
Un bordo fisso a linea singola.
Fixed3D
Un bordo tridimensionale fisso.
FixedDialog
Un bordo spesso e fisso in stile dialogo.
Sizable
(predefinito)
Un bordo ridimensionabile.
FixedToolWindow
Un bordo della finestra dello strumento che non è ridimensionabile. Una finestra degli strumenti non viene visualizzata nella barra delle applicazioni o nella finestra che appare quando l'utente preme ALT+ TAB. Sebbene i moduli specificati in FixedToolWindow
genere non vengano visualizzati nella barra delle applicazioni, è necessario assicurarsi che la ShowInTaskbar
proprietà sia impostata su false
, poiché il suo valore predefinito è true
.
SizableToolWindow
Un bordo della finestra dello strumento ridimensionabile. Una finestra degli strumenti non viene visualizzata nella barra delle applicazioni o nella finestra che appare quando l'utente preme ALT+ TAB.