Cod*_*ray 13
在最好的办法就是让形式自动调整自身的大小,根据用户当前的DPI设置.要做到这一点,只需将AutoScaleMode属性设置为AutoScaleMode.Dpi并启用该AutoSize属性即可.您可以从设计器中的"属性"窗口或通过代码执行此操作:
Public Sub New()
    InitializeComponent()
    Me.AutoScaleMode = AutoScaleMode.Dpi
    Me.AutoSize = True
End Sub
或者,如果您需要了解这些信息而绘制(如在Paint事件处理方法),您可以从中提取的信息DpiX和DpiY对性能的Graphics类的实例.
Private Sub myControl_Paint(ByVal sender As Object, ByVal e As PaintEventArgs)
    Dim dpiX As Single = e.Graphics.DpiX
    Dim dpiY As Single = e.Graphics.DpiY
    ' Do your drawing here
    ' ...
End Sub
最后,如果您需要即时确定DPI级别,则必须Graphics为表单创建类的临时实例,并检查DpiX和DpiY属性,如上所示.表单类的CreateGraphics方法使这很容易做到; 只需确保将此对象的创建包装在Using语句中以避免内存泄漏.示例代码:
Dim dpiX As Single
Dim dpiY As Single
Using g As Graphics = myForm.CreateGraphics()
    dpiX = g.DpiX
    dpiY = g.DpiY
End Using
| 归档时间: | 
 | 
| 查看次数: | 13810 次 | 
| 最近记录: |