Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在上一个窗体被隐藏的位置显示窗体(VB.net)_Vb.net_Visual Studio - Fatal编程技术网

在上一个窗体被隐藏的位置显示窗体(VB.net)

在上一个窗体被隐藏的位置显示窗体(VB.net),vb.net,visual-studio,Vb.net,Visual Studio,对于一个学校项目,我正在开发需要使用多种表单的软件 此时,当单击按钮以显示表单并隐藏当前表单时,它将在属性中设置的默认位置打开 我想让它知道最后一个表单隐藏在哪里,这样它就可以在相同的位置打开新表单。这一点至关重要,因为所有表单的形状/大小都相同,如果软件保留其移动位置,将有助于获得更好的用户体验 谢谢你的帮助!如果你还有问题,请提问,因为这是我第一次在这里提问,不知道我是否包括了所有相关信息 用于隐藏和显示表单的当前代码, 这是在按下按钮时从另一个窗体打开主窗体: Private Su

对于一个学校项目,我正在开发需要使用多种表单的软件

此时,当单击按钮以显示表单并隐藏当前表单时,它将在属性中设置的默认位置打开

我想让它知道最后一个表单隐藏在哪里,这样它就可以在相同的位置打开新表单。这一点至关重要,因为所有表单的形状/大小都相同,如果软件保留其移动位置,将有助于获得更好的用户体验

谢谢你的帮助!如果你还有问题,请提问,因为这是我第一次在这里提问,不知道我是否包括了所有相关信息

用于隐藏和显示表单的当前代码, 这是在按下按钮时从另一个窗体打开主窗体:

    Private Sub btnHome_Click(sender As Object, e As EventArgs) Handles btnHome.Click
        Dim Home As Form
        Home = frmHome
        Me.Hide()
        Home.Show()
    End Sub

通过使用行:
frmHome.Location=Me.Location
并将StartPosition(表单)的属性更改为
Manual

感谢这个用户!

这是通过使用以下行来解决的:
frmHome.Location=Me.Location
并将StartPosition(表单)的属性更改为
Manual

感谢这个用户!
什么是
frmHome
?它是表单类还是表单的实例?无论如何,请尝试
Home.Location=Me。Location
frmHome
是主窗体(主窗体)的名称。但是,是的,我现在就试试。如果我使用表单的设计名称而不是变量,它就可以工作。不知道为什么这个变量会存在,或者它的意义是什么。谢谢你的快速回复!你所做的是使用表单的。示例:
form1.Show()
。虽然这是可行的,但它只是为了向后兼容。它只适用于VB(不是C#),只适用于表单类(不是其他类),并且有其他限制。省去很多麻烦,并习惯于创建新的实例。示例:
Dim frm As New Form1():frm.Show()
而不是直接调用
frm.Show()
。哥达,谢谢!虽然这只是一个学校项目,但当我做一些真正重要的事情时,我会记住这一点;)似乎在表单的第一次打开时,它仍然会转到属性中声明的默认位置。然而,在打开一次之后,我可以在它们之间切换,在任何位置都没有问题,并且它保留了所述位置。我有办法解决这个问题吗?编辑:通过将startPosition属性更改为
手动
修复了此问题。谢谢你的帮助:)什么是
frmHome
?它是表单类还是表单的实例?无论如何,请尝试
Home.Location=Me。Location
frmHome
是主窗体(主窗体)的名称。但是,是的,我现在就试试。如果我使用表单的设计名称而不是变量,它就可以工作。不知道为什么这个变量会存在,或者它的意义是什么。谢谢你的快速回复!你所做的是使用表单的。示例:
form1.Show()
。虽然这是可行的,但它只是为了向后兼容。它只适用于VB(不是C#),只适用于表单类(不是其他类),并且有其他限制。省去很多麻烦,并习惯于创建新的实例。示例:
Dim frm As New Form1():frm.Show()
而不是直接调用
frm.Show()
。哥达,谢谢!虽然这只是一个学校项目,但当我做一些真正重要的事情时,我会记住这一点;)似乎在表单的第一次打开时,它仍然会转到属性中声明的默认位置。然而,在打开一次之后,我可以在它们之间切换,在任何位置都没有问题,并且它保留了所述位置。我有办法解决这个问题吗?编辑:通过将startPosition属性更改为
手动
修复了此问题。谢谢你的帮助:)