首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在vb.net中加载窗体半屏

在vb.net中加载窗体半屏
EN

Stack Overflow用户
提问于 2013-07-20 16:00:49
回答 1查看 1.9K关注 0票数 2

我想把我的表单停靠在右边(最大分辨率高度和最大分辨率宽度/ 2)。我正在使用VB.NET,到目前为止我的代码是:

代码语言:javascript
运行
复制
  Dim scr As Screen = Screen.FromControl(Me)
  Me.Top = scr.WorkingArea.Top + scr.WorkingArea.Height - Me.Height
  Me.Left = scr.WorkingArea.Left + scr.WorkingArea.Width - Me.Width

有什么想法吗?如何使我的表单比我现在的分辨率大一半,并将它定位在桌面的右侧(比如使用windows-key +向右箭头)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-20 16:20:14

你也需要设置宽度和高度,而不仅仅是位置。一定要在重新缩放窗口之后执行此操作,表单的Load事件最好:

代码语言:javascript
运行
复制
Public Class Form1
    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        Dim work = Screen.FromControl(Me).WorkingArea
        Me.Top = work.Top
        Me.Left = work.Right - work.Width / 2
        Me.Width = work.Width / 2
        Me.Height = work.Height
        MyBase.OnLoad(e)
    End Sub
End Class

如果您在窗口已经显示之后执行此操作,然后倾向于分配Bounds属性,则它将避免重新绘制。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17764029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档