vb.net - 无法将表格定位到中心

标签 vb.net winforms

我有一个名为 Form1 的表单。它设置为 startup-Position = Center 但在执行时它会在其他地方打开(在随机位置 evrytime)。

我在 Windows XP SP3 下工作,使用 IDE Visual Studio - 2010。请提供解决此问题的方法。

我上传了一个示例项目,显示了上述问题。

下载链接:

http://www.6ybh-upload.com/vt5i4z1wz9pl/Light.zip

最佳答案

你必须设置:

Form1.StartPosition = FormStartPosition.Manual

编辑:

这是一个工作示例:
Dim X As Integer = (Screen.PrimaryScreen.Bounds.Width - Me.Width) / 2
Dim Y As Integer = (Screen.PrimaryScreen.Bounds.Height - Me.Height) / 2
Me.StartPosition = FormStartPosition.Manual
Me.Location = New System.Drawing.Point(X, Y)

编辑2:

这是基于 Hans Passant 评论的改进代码,(好多了):
Dim mainScreen As Screen = Screen.FromPoint(Me.Location)
Dim X As Integer = (mainScreen.WorkingArea.Width - Me.Width) / 2 + mainScreen.WorkingArea.Left
Dim Y As Integer = (mainScreen.WorkingArea.Height - Me.Height) / 2 + mainScreen.WorkingArea.Top

Me.StartPosition = FormStartPosition.Manual
Me.Location = New System.Drawing.Point(X, Y)

关于vb.net - 无法将表格定位到中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5182893/

相关文章:

vb.net - 帮助使用 Linq 和泛型。在查询中使用 GetValue

asp.net - Handles 子句需要在包含类型或其基本类型之一中定义的 WithEvents 变量

vb.net - 滚动到 Datagridview 选定的行

winforms - 使用 NHibernate 在多个数据库之间复制实体

c# - 抽象 Windows.Forms.Panel 可能在 C# 中?

c# - 小方法的函数调用是否会消耗内存.....在C#中

xml - 如何组合 3 个 for 循环?

c# - 可以从主应用程序启动的带有 WinForms 的 DLL

c# - 如何在Windows窗体C#中实现进度条?

c# - 如何将数据从 WebBrowser 控件中的 JavaScript 返回到 C#?