2016-09-16 113 views
0

如果已经询问了此问题,请致歉。 我目前有它在启动文件夹,但我不知道用什么代码来打开父窗体。 我想让我的vb.net应用程序在启动时打开,但在后台,所以它不会在用户登录时惹恼用户。 我该如何设置它?应用程序在后台启动时打开

+0

如果您的应用程序从一开始就处于隐藏状态,用户以后如何看到它?通知栏中是否有东西?考虑一下。我会建议去@FloatingKiwi回答。但是,我也会为程序参数添加一个检查,并说明参数“hidden”是否存在,然后才会以隐藏模式启动应用程序(然后在启动文件夹中,将“hidden”参数放入一个快捷方式) –

回答

0

为了防止窗体出现(但仍创建自己),您可以覆盖窗体中的以下代码。

Protected Overrides Sub SetVisibleCore(value As Boolean) 
    MyBase.SetVisibleCore(False) 
End Sub 

这将永远隐藏您的表单。很显然,无论您想要使用什么标准,都可以将其显示出来。

此方法不要求您重构应用程序以分开ui +逻辑。当你想要显示它后

dim frm as new <your_form> 

+0

谢谢@FloatingKiwi这是我正在寻找的答案。另一个简单的问题是,即使试图从桌面快捷方式打开它,使用这个子部分也隐藏了表单。你知道任何可以让我从这个快捷方式打开表单的代码吗?如果你能回答这个问题,你的回答就会被接受。谢谢 –

+0

我会用命令行参数来做。在你的启动快捷方式中使用/ hideui。然后你的应用程序可以检查Command()的值并决定传递给MyBase.SetCoreVisible。 – FloatingKiwi

0

尝试移动所有的表单初始化代码到sub Main功能在一个新的模块设置为启动功能运行,初始化代码添加后只需致电frm.showfrm.showdialog

+0

这是不正确的。表单的'Load'事件不会因为您实例化一个新实例而引发。当SetVisibleCore()方法(当你调用例如'Show()'或'ShowDialog()')执行时,它会在第一次提出表单时显示。 –

相关问题