Senza categoria

Usare aero in un progetto VB.NET

Salve a tutti,

Una cosa che non faccio quasi mai o non faccio spesso su questo blog è quella di creare articoli riguardante programmazione, questo per vari motivi comunque oggi vi voglio parlare dello stile aero glass e le immagini dell’applicazione che vedrete ora è ha solo scopo illustrativo e didattico, inoltre il programma non verra pubblicato qui sul blog. Iniziamo

Cosa ci serve

Visual studio 2010 (Io uso l’edizione ultimate){Forse questo codice funziona anche con visual studio 2008}
Essere programmatori di Visual Basic (non adatto ai principianti)
e avere un briciolo di pazienza.

Una volta avviato visual studio

clicchiamo su file e poi su nuovo progetto

poi si aprira un form selezioniamo “applicazione windows form”, io ho chiamato il progetto “TeamViewer6 Service choice” questo perche a me serve che team viewer venga aperto ridotto a icona senza usare l’avvio automatico in caso vi interessi questo programma contattatemi e ve lo spediro via e-meil

ora visual studio carichera il form e apparira una semplice finestrella senza tasti tipo questa

ora non ci resta che visualizzare la finestra dove andremo ad inserire il codice sorgente, ma come fare semplice clicchiamo sul form appena caricato una sola volta e poi andiamo al lato destro in alto vedremo un icona piccola con dei tratteggi come in figura

clicchiamoci sopra si aprirà una nuova finestra dove troveremo scritto
[sourcecode language=”VB.NET”]
Public Class Form1

End Class
[/sourcecode]

Eliminiamo il tutto è inseriamo questo codice

[sourcecode language=”VB.NET”]
Imports System.Runtime.InteropServices
Public Class Form1
<StructLayout(LayoutKind.Sequential)> _
Public Structure MARGINS
Public Destra As Integer
Public Sinistra As Integer
Public Su As Integer
Public Giu As Integer
End Structure
Declare Auto Function DwmIsCompositionEnabled Lib "dwmapi.dll" Alias "DwmIsCompositionEnabled" (ByRef pfEnabled As Boolean) As Integer
Declare Auto Function DwmExtendFrameIntoClientArea Lib "dwmapi.dll" Alias "DwmExtendFrameIntoClientArea" (ByVal hWnd As IntPtr, ByRef pMargin As Margins) As Integer
Dim pMargins As New Margins With {.Su = -1, .Sinistra = -1, .Destra = -1, .Giu = -1}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim en As Boolean = False
DwmIsCompositionEnabled(en)
If en Then
DwmExtendFrameIntoClientArea(Me.Handle, pMargins)
End If
Me.TransparencyKey = Color.FromKnownColor(KnownColor.ActiveCaption)
Me.BackColor = Me.TransparencyKey
End Sub
End Class
[/sourcecode]
come in figura tranne per il fatto che sono stati aggiunti due tasti e i loro relativi comandi

Come notate i due omandi sono stati offuscati mentre vedrete msgbox() e i debugger interni he sono “Try Catch e End Try”

ma cosa c’e da sapere, la cosa più importante è che questo odice postato diversamente dagli altri che si trovano in rete non crea problemi al form perciò non viene sballato ritrovandosi i controlli tutti sballati ma vediamo ora come sarà il nostro form con interfaccia aero glass.

percio compiliamo il progetto come fare semplice andiamo su Compila e poi clicchiamo su compila TeamViewer6 Service Choice il programma verra compilato esempio qui nell’immagine

ora dobbiamo semplicemente avviare il programma come fare? semplice premiamo il tasto F5 sulla tastiera verra avviato il programma e vedremo il nostro programma con interfaccia aero

come vedere il programma ha la tipica interfaccia aero, ma per i piu esperti che conoscono questo linguaggio si puo modificare il codice sorgente e alcune impostazioni del form per renderlo più chiaro o persino trasparente come in figura

ma dove avviene il cambiamento? semplice a questa riga che da essere cosi

Dim pMargins As New MARGINS With {.Su = -1, .Sinistra = -1, .Destra = -1, .Giu = -1}

viene modificata cosi

Dim pMargins As New MARGINS With {.Su = +10, .Sinistra = 0, .Destra = 0, .Giu = 0}

come difatti notate ‘e la parola .Su +10.

Ora avete capito come avere un interfaccia aero nei vostri programmi scritti in visual basic.NET

Ma vediamo visto che mi trovo a cosa servono i due pulsanti nel mio programma,
per chi non lo sapesse team viewer è un programma che permette di connettersi un remoto al proprio pc usando sempre team viewer ma come detto all’inizio il programma mi serviva per avviare team viewer ridotto a icona senza pero usare la sua impostazione avvia con windows ridotto a icona

percio ecco la funzione avvia servizio che come vedete ha avviato team viewer ridotto a icona

mentre l’altro tasto serve per chiuderlo Arresta servizio

come vedete team viewer non è piu aperto per chi pensasse che forse viene nascosto non è cosi eccovi la dimostrazione

Spero che sia stata una guida utile, e per chi volesse avere il codice sorgente di aero glass per vb.net può scaricarlo da qui
mentre per hi volesse avere il programma team viewer service choice può inviarmi un email [email protected]

Lascia un commento