我有一个VB.NET MDI WinForms应用程序。我的用户一直在抱怨表单爬行(他们称之为表单爬行),这就是每次你在MDI主窗口中打开一个特定的表单时,它会在之前加载位置的略下方和右侧打开--即它从窗口的左上角开始,然后向下一直到右下角。
我不得不同意他们的观点,这非常令人恼火,有什么方法可以防止这种情况发生吗?加载表单的代码为:
frmPurchaseInvoiceSelect.Show()
frmPurchaseInvoiceSelect.MdiParent = Me我可以通过将表单的启动位置设置为“手动”来解决这个问题,但随后它们就会直接在屏幕左上角的顶部打开。
还有没有其他SO用户遇到过这个问题?
发布于 2009-01-17 20:18:13
试一试
frmPurchaseInvoiceSelect.StartPosition = FromStartPosition.CenterParent
始终从Mdi父级的中心开始。
有几个选项,但这取决于您希望窗体从哪里开始。我还没有试过,但是:
frmPurchaseInvoiceSelect.Location = windowPoint
frmPurchaseInvoiceSelect.Size = windowSize
frmPurchaseInvoiceSelect.StartPosition = FormStartPosition.Manual 应该准确地从您想要的位置开始窗体。
发布于 2015-11-19 22:54:32
下面为我解决了这个问题frmUser.StartPosition = FormStartPosition.Manual当重新打开时,它停止了‘爬行’
发布于 2011-12-10 15:12:54
请看我的question和结果答案,这可能会对你解决这个问题有很好的帮助。您还可以查看我关于这个主题的非常冗长的blog条目。我的代码是用Delphi编写的,但您应该能够将概念转移到VB中。
https://stackoverflow.com/questions/453868
复制相似问题