首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MDI表单‘爬行’( MDI窗口中的位置更改)

MDI表单‘爬行’( MDI窗口中的位置更改)
EN

Stack Overflow用户
提问于 2009-01-17 19:28:53
回答 5查看 3.4K关注 0票数 2

我有一个VB.NET MDI WinForms应用程序。我的用户一直在抱怨表单爬行(他们称之为表单爬行),这就是每次你在MDI主窗口中打开一个特定的表单时,它会在之前加载位置的略下方和右侧打开--即它从窗口的左上角开始,然后向下一直到右下角。

我不得不同意他们的观点,这非常令人恼火,有什么方法可以防止这种情况发生吗?加载表单的代码为:

代码语言:javascript
复制
frmPurchaseInvoiceSelect.Show()
frmPurchaseInvoiceSelect.MdiParent = Me

我可以通过将表单的启动位置设置为“手动”来解决这个问题,但随后它们就会直接在屏幕左上角的顶部打开。

还有没有其他SO用户遇到过这个问题?

EN

回答 5

Stack Overflow用户

发布于 2009-01-17 20:18:13

试一试

frmPurchaseInvoiceSelect.StartPosition = FromStartPosition.CenterParent

始终从Mdi父级的中心开始。

有几个选项,但这取决于您希望窗体从哪里开始。我还没有试过,但是:

代码语言:javascript
复制
frmPurchaseInvoiceSelect.Location = windowPoint
frmPurchaseInvoiceSelect.Size = windowSize
frmPurchaseInvoiceSelect.StartPosition = FormStartPosition.Manual  

应该准确地从您想要的位置开始窗体。

票数 4
EN

Stack Overflow用户

发布于 2015-11-19 22:54:32

下面为我解决了这个问题frmUser.StartPosition = FormStartPosition.Manual当重新打开时,它停止了‘爬行’

票数 2
EN

Stack Overflow用户

发布于 2011-12-10 15:12:54

请看我的question和结果答案,这可能会对你解决这个问题有很好的帮助。您还可以查看我关于这个主题的非常冗长的blog条目。我的代码是用Delphi编写的,但您应该能够将概念转移到VB中。

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

https://stackoverflow.com/questions/453868

复制
相关文章

相似问题

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