章鱼哥出品——VB.NET 屏幕自适应功能的实现

章鱼哥出品——VB.NET 屏幕自适应功能的实现,第1张

概述最近有个网友问我屏幕自适应的问题,即如果屏幕的分辨率改变了,窗体也能适应屏幕的大小,不至于有些控件不能显示。其实代码还是很简单的,我不喜欢讲很多的原理啊什么的,直接上代码。所有代码可直接复制测试。方便后来人参考吧 <pre name="code" class="vb">'**********************************************'作者:章鱼哥,QQ:3107

最近有个网友问我屏幕自适应的问题,即如果屏幕的分辨率改变了,窗体也能适应屏幕的大小,不至于有些控件不能显示。其实代码还是很简单的,我不喜欢讲很多的原理啊什么的,直接上代码。所有代码可直接复制测试。方便后来人参考吧

<pre name="code" >'**********************************************'作者:章鱼哥,QQ:3107073263 群:309816713    '如有疑问或好的建议请联系我,大家一起进步    '**********************************************imports System.windows.FormsPublic Class Form1    Dim Ini_Screen_WIDth As Integer = 1366 '开发时屏幕宽度    Dim Ini_Screen_Height As Integer = 768 '开发时屏幕高度    Dim Scale_X As Double '屏幕缩放比例    Dim scale_Y As Double '屏幕缩放比例    Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load               Dim Screen_WIDth As Integer = Screen.PrimaryScreen.Bounds.WIDth '当前屏幕的宽        Dim Screen_Height As Integer = Screen.PrimaryScreen.Bounds.Height '当前屏幕的高        '计算当前屏幕与开发时的屏幕的缩放比例        Scale_X = Screen_WIDth / Ini_Screen_WIDth        scale_Y = Screen_Height / Ini_Screen_Height        '  MsgBox(Screen_WIDth & "*" & Screen_Height)        '如果缩放比例为1,则不进行下面的 *** 作        If Scale_X = 1 And scale_Y = 1 Then            Exit Sub        End If        '更新控件的大小        Resize_Control()    End Sub      Private Sub Resize_Control()        Me.WIDth = Me.WIDth * Scale_X        Me.Height = Me.Height * scale_Y        For Each cont As Control In Me.Controls            UpdateControl(cont)        Next    End Sub    Private Sub UpdateControl(ByVal Contr As Control)        If Contr.Controls.Count > 0 Then            For Each con As Control In Contr.Controls                UpdateControl(con)                With con                    .WIDth *= Scale_X '宽度                    .Height *= scale_Y '高度                    .Location = New Point(.Location.X * Scale_X,.Location.Y * scale_Y) '更新位置                    .Font = New Font(.Font.name,.Font.Size * (Scale_X + scale_Y) / 2) '更新字体                End With            Next        End If    End SubEnd Class
总结

以上是内存溢出为你收集整理的章鱼哥出品——VB.NET 屏幕自适应功能的实现全部内容,希望文章能够帮你解决章鱼哥出品——VB.NET 屏幕自适应功能的实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1272334.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存