.net - MDI窗体 'creep'(MDI窗口位置变化)

标签 .net vb.net mdi

我有一个 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/

相关文章:

.net - 从 Windows 命令行运行 MSTests

c# - WP7 同步网页请求

wpf - WPF中如何创建MDI窗体

c# - 在 ASPxTextboxControl 上触发验证后触发 Javascript 函数

C# WinForms : How do you prevent child form from being minimized when parent form is minimized?

c# - 添加或删除带有子窗体的 MDI 窗体检测

c# - 声音播放器 : How to select Output device?

c# - 将 HttpConfigurationExtensions 添加到 ASP.NET 项目

vb.net - 无法获取命名空间 System.Deployment.Application

c# - 如果我有静态变量,WebServices 是无状态的吗?