1

我们有一个用于运营业务的“核心”系统,任何时候都有大约 15-18 人使用它。该程序是用 VB.NET 编写的,有大约 165 种形式。

它的工作方式是当用户运行程序时,系统会提示他/她登录,如果登录成功,则会显示带有多个菜单(客户、供应商......)的“主”表单。从那里,他们可以单击菜单,在“主”顶部打开另一个表单(“主”表单需要在后台可见,因为它显示与用户相关的信息,而他们在其他屏幕中)

我们遇到的问题是,如果用户在使用“核心”系统(Outlook、Word、Chrome 等等)时打开了其他程序并切换到另一个程序然后返回系统,它只会显示“主”表格和顶部打开的任何其他表格都会消失。我们解决这个问题的方法是切换回他们打开的其他程序并单击窗口右上角的最小化按钮,直到所有其他程序都被最小化,这只会让“核心”系统可见。然而,这对所有用户(包括我自己和其他开发人员)来说都是一种滋扰,我们真的需要解决这个问题,以让员工开心:)

我将不胜感激任何有助于我们解决此问题的正确方向的建议或指示,如果您需要更多信息,请随时询问。

4

2 回答 2

1

似乎您正在创建ChildFormfrom theMainForm但它ChildForm本身正在使用Me.ShowDialog(). 您可能应该尝试的是显示表单MainForm并将其MainForm作为父级传递。这应该保持表单与其父级和顶部相关联。例如:

childForm.showDialog(Me)

Me在哪里MainForm是该方法的文档。

这是重要的部分:

所有者类型:System.Windows.Forms.IWin32Window

实现 IWin32Window 的任何对象,该对象表示将拥有模式对话框的顶级窗口。

那有意义吗?

于 2013-01-07T11:08:55.737 回答
0

更改代码以显示对话框会稍微改变代码的行为,例如执行中的 main 将一直保持到您关闭子窗体

但是你可以只使用显示为孩子(不是对话框)

childForm.show (Me)

这不会改变任何东西,除非您单击主窗体时它会在其上显示其整个子窗体。

于 2013-01-07T12:00:44.437 回答