2012-12-10 15 views
6

Ho sempre pensato che i bordi della forma che utilizzano programmi come iTunes o Visual Studio 2012 vengano eseguiti senza lo stile del bordo e che i pulsanti come pulsante di chiusura siano disegnati come immagini.Proprio stile del bordo modulo

Visual Studio 2012 Musicjet

Tuttavia una volta che il mio Visual Studio non rispondeva e il confine cambiato al confine di base di Windows.

Windows

Come posso ottenere forma proprio confine? È possibile in C#?

+1

: prova con due collegamenti: http: //www.codeproject.com/Articles/18351/A-Form-with-Customized-Caption-Bar-and-Flexible-Bo e http://customerborderform.codeplex.com / – KF2

risposta

3

Si vede la "finestra fantasma", una finestra creata dal gestore di finestre di Windows per sostituire la finestra morta. Vedi "Non risponde" nella barra del titolo. Quella finestra non avrà lo stesso stile personalizzato, ovviamente, non c'è modo che Windows sappia come farlo correttamente.

È possibile utilizzare l'utilità Spy ++ per esaminare le proprietà della finestra di un'altra app. VS2012 utilizza infatti uno stile di finestra regolare con una barra del titolo. La loro personalizzazione è un segreto ben tenuto, sospetto che intercettano WM_NCPAINT, un messaggio abbastanza difficile da implementare. Usare una finestra senza bordi è sicuramente più facile.

0

A seguito di posta @Hans':

Utilizzando WPF è possibile impostare il WindowStyle a nessuno come questo:

<Window WindowStyle="None"> 

Quindi è possibile implementare i tuoi pulsanti.

Problemi correlati