Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Nozioni di base di Visual Programming >> .

Come creare una risoluzione frame Indipendente in VB.NET

. Visual Basic NET , o VB.NET , è un linguaggio di programmazione attuate sulla NET Framework . . È possibile utilizzare VB.NET per creare forme complesse . Tuttavia , un modulo creato per la risoluzione standard VGA ( 640 x 480) richiede solo una porzione dello schermo a una risoluzione maggiore . Anche se questo è normale , si potrebbe desiderare il modulo per avere una dimensione e posizione proporzionale con la risoluzione. Queste forme sono chiamate frame indipendenti dalla risoluzione e sono relativamente facili da creare . Cose che ti serviranno
Visual Basic , qualsiasi versione
Mostra più istruzioni
1

Fare clic destro sul desktop e selezionare "Proprietà ". Vai alla scheda " Impostazioni " e modificare la risoluzione dello schermo a " 800 x 600 ". Si utilizzerà questo piccolo risoluzione per creare il telaio indipendente dalla risoluzione .
2

Aprire Visual Studio e iniziare un nuovo progetto . Il form " Form1 " viene creato automaticamente
3

Vai al modulo del form e incollare il codice per rendere la forma indipendente dalla risoluzione : .

Option Explicit

Dim MyForm Come FRMSIZE

Dim designx As Integer Dim

designy As Integer

private Sub Form_Load ( ) per

Dim ScaleFactorX As Single , ScaleFactorY As Single ' fattori di scala

' Dimensione del modulo in pixel a disegno risoluzione

designx = 800

designy = 600

RePosForm = Flag True ' per Modulo di posizionamento

DoResize = False ' Flag per Resize evento

' impostare la schermata di valori

Xtwips = Screen.TwipsPerPixelX

Ytwips = Screen.TwipsPerPixelY

Ypixels = screen.height /Ytwips ' Y pixel di risoluzione

Xpixels = screen.width /Xtwips ' X Pixel Risoluzione

'definire i fattori di scala

ScaleFactorX = ( Xpixels /designx ) per

ScaleFactorY = ( Ypixels /designy ) per

ScaleMode decommentare = 1 ' twips

' Exit Sub ' per vedere come Form1 appare senza ridimensionare

Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me

Label1.Caption = " risoluzione corrente è" & Str $ ( Xpixels ) + _

" da " + Str $ ( Ypixels )

MyForm.Height = Me.Height 'Ricorda l'attuale dimensione

MyForm.Width = Me.Width

End Sub

Form_Resize private Sub ( )

Dim ScaleFactorX As Single , ScaleFactorY As Single

Se Non DoResize Then ' Per evitare loop infinito

DoResize = True

Exit
Sub

End If

RePosForm = False

ScaleFactorX = Me.Width /MyForm.Width ' Quanto cambiamento?

ScaleFactorY = Me.Height /MyForm.Height

Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me

MyForm.Height = Me.Height 'Ricorda l'attuale dimensione

MyForm.Width = Me.Width

End Sub

private Sub Command1_Click ( ) Dim

ScaleFactorX As Single , ScaleFactorY As Single

designx = Xpixels

designy = Ypixels

RePosForm = True

DoResize = False

' impostare la schermata di valori

Xtwips = Screen.TwipsPerPixelX

Ytwips = Screen.TwipsPerPixelY

Ypixels = screen.height /Ytwips ' Y pixel di risoluzione

Xpixels = screen.width /Xtwips ' X Pixel Risoluzione

'definire i fattori di scala

ScaleFactorX = ( Xpixels /designx )

ScaleFactorY = ( Ypixels /designy ) per

Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me

Label1.Caption = " risoluzione corrente è" & Str $ ( Xpixels ) + _

"con" + Str $ ( Ypixels ) per

MyForm.Height = Me.Height 'Ricorda l'attuale dimensione

MyForm.Width = Me.Width

End Sub
4

Aggiungi tutti i controlli che si desidera testare la forma . È possibile aggiungere etichette , pulsanti di comando ei riquadri di immagine . Questa operazione è necessaria per verificare se tutti gli elementi del form regolare correttamente la loro dimensione .
5

Vai al menu "Progetto" e selezionare " Aggiungi modulo .... " Fare clic su " Aggiungi" per aggiungere il nuovo modulo al progetto
6

Vai al nuovo modulo e incolla il codice per regolare automaticamente le proporzioni del modulo in relazione alla risoluzione dello schermo : .

Xtwips pubblico come Integer , Ytwips As Integer

Xpixels pubblico come Integer , Ypixels As Integer

Tipo FRMSIZE

Altezza As Long

Larghezza As Long

End Type

RePosForm pubblico come booleano

DoResize pubblico come booleano

Resize_For_Resolution Sub ( ByVal SFX As Single , _ ByVal

SFY As Single , MyForm As Form ) per

Dim I As Integer Dim

SFFont As Single

SFFont = ( SFX + SFY ) /2 ' scala
media

' Dimensione i controlli per la nuova risoluzione

On Error Resume Next ' per la sola lettura o inesistenti proprietà

MyForm

For i = 0 a contare. - 1

Se TypeOf . Controls ( I) è ComboBox Then ' non può cambiare Altezza

. Controls ( I) . sinistra = . Controlli ( I) . sinistra * SFX

. Controlli ( I) . top = . Controlli (I). Top * SFY

. Controlli ( I) . Larghezza = . Controlli ( I) . Larghezza * SFX

Else
Controlli

. (I). Move. Controlli (I). rimanenti * SFX , _

. Controlli (I). Top * Sfy , _

. Controlli (I). Larghezza * SFX , _

. Controlli ( I) . altezza * SFY

End If

' ridimensionare e riposizionare prima di modificare il FontSize

. Controlli (I). fontsize = . Controlli ( I) . FontSize * SFFont

Poi ho

RePosForm Poi

'Adesso dimensioni del modulo

. Sposta . sinistra * SFX , . Top * SFY , . Larghezza * SFX , . Altezza * SFY

End If End With


End Sub
7

Verifica il tuo nuovo modulo eseguendo sotto diverse risoluzioni dello schermo . Dovrebbe occupare la stessa area del desktop e di mantenere la propria posizione .

 

Programmazione © www.354353.com