加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – 根据屏幕分辨率更改表格分辨率(不更改显示器分辨率并使

发布时间:2020-12-17 07:18:11 所属栏目:百科 来源:网络整理
导读:我在论坛上搜索过,我尝试了一些东西……但它们似乎并没有真正起作用.让我说出我的问题. 我的笔记本电脑屏幕分辨率非常高:1400×1050.我正在设计我的应用程序. 我的同事在他的笔记本电脑上测试了它(分辨率较低),并且应用程序不适合他的笔记本电脑.按钮拖出屏
我在论坛上搜索过,我尝试了一些东西……但它们似乎并没有真正起作用.让我说出我的问题.

我的笔记本电脑屏幕分辨率非常高:1400×1050.我正在设计我的应用程序.

我的同事在他的笔记本电脑上测试了它(分辨率较低),并且应用程序不适合他的笔记本电脑.按钮拖出屏幕空间.

所以,我希望我的应用程序根据屏幕分辨率自动调整大小/调整大小.
我发现了一些类似的论坛,我尝试了开发人员提出的一些建议,但这对我来说并不合适.

我试过了 :
?Solution 1:但是改变用户的屏幕重新调整形式.

我不想使用最大化屏幕选项,也不想更改用户的电脑设置.
不幸的是,我没有使用表格布局面板.

请建议我一个简单的解决方案.

解决方法

好的,这就像它得到的一样简单.只需迭代VB控件并根据新屏幕分辨率与设计屏幕分辨率的比例调整其大小.即,像:

Dim DesignScreenWidth As Integer = 1600
    Dim DesignScreenHeight As Integer = 1200
    Dim CurrentScreenWidth As Integer = Screen.PrimaryScreen.Bounds.Width
    Dim CurrentScreenHeight As Integer = Screen.PrimaryScreen.Bounds.Height
    Dim RatioX as Double = CurrentScreenWidth / DesignScreenWidth
    Dim RatioY as Double = CurrentScreenHeight / DesignScreenHeight
    For Each iControl In Me.Controls
        With iControl
            If (.GetType.GetProperty("Width").CanRead) Then .Width = CInt(.Width * RatioX)
            If (.GetType.GetProperty("Height").CanRead) Then .Height = CInt(.Height * RatioY)
            If (.GetType.GetProperty("Top").CanRead) Then .Top = CInt(.Top * RatioX)
            If (.GetType.GetProperty("Left").CanRead) Then .Left = CInt(.Left * RatioY)
        End With
    Next

请注意,我正在使用反射来查看每个控件是否具有我们需要调整的属性.我正在做的方式是干净但使用“后期绑定”并要求Option Strict Off.经过测试和批准.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读