默认单位是像素
用像素数除以dpi没有意义
您可以用下面给出这一小段代码检测当前屏幕分辨率,然后根据结果作出反应──例如,重新调整窗体大小以适应用程序户分辨率.
Public Function CheckRez(pixelWidth As Long, pixelHeight As Long) As Boolean
'
Dim lngTwipsX As Long
Dim lngTwipsY As Long
' convert pixels to twips
' check against current settings
If lngTwipsX Screen.Width Then
CheckRez = False
Else
If lngTwipsY Screen.Height Then
CheckRez = True
End If
End Function
Next, run the following code at the start of the program:
MsgBox "Incorrect screen size!"
MsgBox "Screen Resolution Matches!"
这篇文章介绍了VB.NET设置屏幕分辨率、颜色位数、刷新率
实例代码,有需要的朋友可以参考一下
复制代码
代码如下:
Private
Declare
Function
GetDeviceCaps
Lib
(ByVal
hdc
As
Long,
ByVal
nIndex
Long)
Long
ChangeDisplaySettings
Alias
"ChangeDisplaySettingsA"
(lpDevMode
Any,
dwflags
Const
CCDEVICENAME
=
CCFORMNAME
DM_BITSPERPEL
DM_PELSWIDTH
DM_PELSHEIGHT
H100000
DM_DISPLAYFLAGS
DM_DISPLAYFREQUENCY
CDS_FORCE
BITSPIXEL
HORZRES
VERTRES
VREFRESH
Type
DEVMODE
dmDeviceName
String
*
dmSpecVersion
Integer
dmDriverVersion
dmSize
dmDriverExtra
dmFields
dmOrientation
dmPaperSize
dmPaperLength
dmPaperWidth
dmScale
dmCopies
dmDefaultSource
dmPrintQuality
dmColor
dmDuplex
dmYResolution
dmTTOption
dmCollate
dmFormName
dmUnusedPadding
dmBitsPerPel
dmPelsWidth
dmPelsHeight
dmDisplayFlags
dmDisplayFrequency
End
Sub
cmdChangeDesktopMode_Click()
Dim
DM
With
.dmPelsWidth
CInt(txtNewWidth.Text)
.dmPelsHeight
CInt(txtNewHeight.Text)
.dmBitsPerPel
CInt(txtNewColor.Text)
.dmDisplayFrequency
CInt(txtNewFreq.Text)
.dmFields
Or
.dmSize
LenB(DM)
If
ChangeDisplaySettings(DM,
CDS_FORCE)
Then
MsgBox
"错误!不支持此模式!"
Form_Load()
txtOldWidth.Text
GetDeviceCaps(Me.hdc,
HORZRES)
txtOldHeight.Text
VERTRES)
txtOldColor.Text
BITSPIXEL)
txtOldFreq.Text
VREFRESH)
以上就是土嘎嘎小编为大家整理的关于vb.net自动分辨率的信息相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!