我有一个 VB.NET MDI WinForms 应用程序。我的用户一直在提示表单蠕变(他们这样调用它),这是每次您在主 MDI 窗口中打开特定表单时,它都会在它之前加载的位置略微下方和右侧打开 - 即它开始于窗口的左上角并向下移动到右下角。
我不得不同意他们的看法,这非常令人恼火,有什么办法可以防止这种情况发生吗?加载表单的代码是:
frmPurchaseInvoiceSelect.Show()
frmPurchaseInvoiceSelect.MdiParent = Me
我可以通过将表单的启动位置设置为“手动”来稍微解决这个问题,但随后它们只会在屏幕左上角直接重叠打开。
有其他 SO 用户遇到过这个吗?
最佳答案
尝试
frmPurchaseInvoiceSelect.StartPosition = FromStartPosition.CenterParent
始终从 Mdi 父级的中心开始。
有几个选项,但这取决于您希望表单从哪里开始。我还没有尝试过,但是:
frmPurchaseInvoiceSelect.Location = windowPoint
frmPurchaseInvoiceSelect.Size = windowSize
frmPurchaseInvoiceSelect.StartPosition = FormStartPosition.Manual
应该在您想要的地方开始表单。
关于.net - MDI窗体 'creep'(MDI窗口位置变化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/453868/