Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vytvoriť nezávislé na rozlíšenie rám v VB.NET

. Visual Basic NET , alebo VB.NET , je počítačový programovací jazyk realizovaný na NET Framework .. Môžete použiť VB.NET vytvárať zložité tvary . Avšak , forma vytvorená pre štandardné rozlíšenie VGA ( 640 x 480 ) , trvá len časť obrazovky vo väčšom rozlíšení . Aj keď je to normálne , možno budete chcieť formulár musí mať veľkosť a polohu priamo úmerný s rozlíšením . Tieto formy sa nazývajú rozlíšenie nezávislé rámy a sú pomerne ľahko vytvoriť . Veci , ktoré budete potrebovať
jazyka , všetky verzie
Zobraziť ďalšie inštrukcie Cestuj 1

pravým tlačidlom myši kdekoľvek na ploche a zvoľte " Vlastnosti " . Prejdite na záložku "Nastavenia " a zmeňte rozlíšenie obrazovky " 800 x 600 " . Budete používať tento malý rezolúciu o vytvorení nezávislej na rozlíšenie snímky .
2

Otvorte aplikáciu Visual Studio a spustiť nový projekt . Formulár " Form1 " je vytvorený automaticky
3

Prejsť na module formulára a vložiť kód , aby formuláre nezávislé na rozlíšenie : .

Option Explicit

Dim MyForm ako FRMSIZE

Dim DesignX As Integer

Dim Designy As Integer

Private Sub Form_Load ( )

Dim ScaleFactorX As Single , ScaleFactorY ako jeden " merítkach

' Veľkosť, o formulári v pixeloch , pri rozlíšení dizajne

DesignX = 800

Designy = 600

RePosForm = true ' Flag pre umiestnenie formulár

DoResize = False ' Vlajka pre udalosť resize

"nastaviť hodnoty na obrazovke

Xtwips = Screen.TwipsPerPixelX

Ytwips = Screen.TwipsPerPixelY

Ypixels = Screen.Height /Ytwips " Pixel Rozlíšenie Y

Xpixels = Screen.Width /Xtwips " Pixel Rozlíšenie X

" Určenie merítka faktory

ScaleFactorX = ( Xpixels /DesignX )

ScaleFactorY = ( Ypixels /Designy )

ScaleMode = 1 ' TWIP

" Exit Sub ' odkomentovať vidieť , ako vyzerá Form1 bez zmeny veľkosti

Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me

Label1.Caption = " Aktuálne rozlíšenie je " & Str $ ( Xpixels ) + _

" o " + Str $ ( Ypixels )

MyForm.Height = Me.Height " Pamätaj na aktuálnu veľkosť

MyForm.Width = Me.Width

End Sub

Private Sub Form_Resize ( )

Dim ScaleFactorX ako Single , ScaleFactorY ako samostatné

Ak nie je DoResize potom kliknite na " Aby nedochádzalo k nekonečnej slučke

DoResize = true

Exit Sub

End If

RePosForm = False

ScaleFactorX = Me.Width /MyForm.Width " Koľko zmena ?

ScaleFactorY = Me.Height /MyForm.Height

Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me

MyForm.Height = Me.Height " Pamätaj na aktuálnu veľkosť

MyForm.Width = Me.Width klipart

End Sub

Private Sub Command1_Click ( )

Dim ScaleFactorX ako Single , ScaleFactorY ako Single

DesignX = Xpixels

Designy = Ypixels

RePosForm = TRUE

DoResize = False

" Nastavenie hodnôt obrazovky

Xtwips = Screen.TwipsPerPixelX

Ytwips = Screen.TwipsPerPixelY

Ypixels = Screen.Height /Ytwips " Y Pixel Rozlíšenie

Xpixels = Screen.Width /Xtwips " Pixel Rozlíšenie X

" Určenie merítka faktory

ScaleFactorX = ( Xpixels /DesignX )

ScaleFactorY = ( Ypixels /Designy )

Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me

Label1.Caption = " Aktuálne rozlíšenie je " & Str $ ( Xpixels ) + _

" od " + Str $ ( Ypixels )

MyForm.Height = Me.Height " Pamätaj na aktuálnu veľkosť

MyForm.Width = Me.Width

end Sub
4

Pridať všetky ovládacie prvky , ktoré chcete testovať do formulára . Môžete pridať popisky , príkazové tlačidlá a obrazových políčok . Musíte urobiť, aby test , či všetky prvky na formulári upraviť ich veľkosť správne .
5

Prejsť na menu " Projekt " a vyberte " Pridať modul .... " Kliknite na " Add" pridať nový modul do projektu
6

Prejdite do nového modulu a vložiť kód , ktorý automaticky upraví proporcie formuláre vo vzťahu k rozlíšenie obrazovky : .

Verejné Xtwips As Integer , Ytwips As Integer

verejných Xpixels As Integer , Ypixels As Integer

Typ FRMSIZE

Výška Dokiaľ

Šírka As Long

End Type

verejné RePosForm As Boolean

verejné DoResize As Boolean

Sub Resize_For_Resolution ( byval SFX ako samostatné , _

byval SFY ako Single , MyForm ako forma )

Dim Aj As Integer

Dim SFFont ako jednotného

SFFont = ( SFX + SFY ) /2 " priemer stupnice

' Veľkosť Controls pre nové rozlíšenie

On Error Resume Next ' len na čítanie alebo neexistujúcich vlastností

S MyForm

i = 0 spočítať . - 1

Ak typeof . Ovládacie prvky ( I) je ComboBox Then ' nemožno zmeniť výšku

. Ovládacie prvky ( I) . Ľavé = . Controls ( I) . Ľavá * SFX

. Ovládacie prvky ( I) . Top = . Controls ( I) . Top * SFY

. Controls ( I) . šírka = . Controls ( I) . Šírka * SFX

Else

. Ovládacie prvky ( I) . Move . Ovládacie prvky ( I) . Ľavá * SFX , _

. Controls ( I) . Top * SFY , _

. Controls ( I) . šírka * SFX , _

. Controls ( I) . Výška * SFY

End If

" Zmena veľkosti a premiestniť pred zmenou veľkosť písma

. Controls ( I) . FontSize = . Controls ( I) . FontSize * SFFont

Ďalej som

Ak RePosForm Potom

"Teraz vel formulár

. presun . Ľavá * SFX . Top * SFY , . šírka * SFX . Výška * SFY

End If

End With

End Sub
7

Otestujte si svoje nové formy spustením ho v rôznych rozlíšeniach obrazovky . To by malo trvať do rovnakej oblasti plochy a udržať svoju pozíciu .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené