【问题标题】:VB.NET - Change form size by screen resolution:VB.NET - 通过屏幕分辨率更改表单大小:
【发布时间】:2018-03-08 07:25:34
【问题描述】:

我假设答案很简单,但问题出在这里,我的选项菜单有两个部分,普通设置和高级设置,高级设置通过按高级按钮访问,相当基本。这将使表单更大,揭示更多设置,但我唯一的问题是在不同分辨率下使表单更大并不会以相同的因素使其更大 - 如果我增加我的大小,将我所说的放到上下文中在标准 1080p 显示器上形成表格,然后在 1366 x 768 分辨率的笔记本电脑上运行我的程序,表格将比我在 1080p 分辨率屏幕上绘制的要小得多。

这是我用来增加表单大小的代码:

Private Sub Advance_btn_Click(sender As Object, e As EventArgs) Handles Advance_btn.Click
    If advanced = 0 Then
        Me.Size = New Drawing.Size(262, 198) ' will increase form size
        Advance_btn.Text = "<" ' text for button changes to know i have pressed the button - (to '<')
        advanced = 1
    ElseIf advanced = 1 Then
        Me.Size = New Size(262, 85) ' will decrease form size
        Advance_btn.Text = ">" ' text for button changes to know i have pressed the button - (to '>')
        advanced = 0
    End If
End Sub

表格也没有边框,如果有什么不同,谢谢。

【问题讨论】:

  • 使用 Screen.PrimaryScreen.Bounds.[Width/Height] 获取屏幕尺寸非常简单,相对于这些边界缩放表单尺寸的大小取决于您

标签: vb.net resize resolution


【解决方案1】:
        Me.Height = Screen.PrimaryScreen.Bounds.Height
        Me.Width = Screen.PrimaryScreen.Bounds.Width * 0.6

在我使用多年的这个例子中,宽度设置为屏幕宽度的 60%。这是在 IF 语句中,我检查用户是否有 4K 显示器,如果没有,则在应用程序启动时设置全屏模式。你可以,perpahs,对你的绘图区域做类似的事情。

【讨论】:

  • 此代码错误。它将表单显示在主屏幕上的假设硬编码,这不一定是真的。考虑多显示器系统。
  • 我确实有一个多显示器系统,事实上我们所有的电脑都有两个显示器。有些将 4K 作为主要显示器,有些则是全高清。所以我知道你的意思,但实际上存在零问题。经年考验。
  • 代码不能在那种情况下工作。它使用PrimaryScreen 对象。如果您的辅助屏幕使用与主屏幕不同的分辨率,或者表单不在主屏幕上,则您设置了错误的尺寸。
  • 但确实如此。对于过去提出此解决方案的所有其他人。但是,如果遇到麻烦,您可以使用 Screen.FromControl(Me) 获得所需的屏幕。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多