我有一个以隐藏模式运行的应用程序。在新版本中,我需要更新数据库,这就是我需要显示某些表单以从用户获取更新数据的原因。我使用Form.ShowDialog
方法但发生了错误。据说是错误的
“当应用程序没有时显示模式对话框或表单 在UserInteractive模式下运行不是有效的操作。指定 ServiceNotification或DefaultDesktopOnly样式显示一个 来自服务应用程序的通知“。
我想我需要以其他方式展示形式,但我不知道如何。
当我运行它时它工作正常,我想我应该手动调用它服务器。但是当另一个服务启动时 代码:
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(path);
startInfo.WorkingDirectory = ServerModel.ServerInfo.ServerDir;
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
System.Diagnostics.Process.Start(startInfo);
发生此错误。
答案 0 :(得分:2)
我建议使用Windows气球通知,因为它们不能显示来自隐藏应用的消息。
请参阅this link以供参考。
答案 1 :(得分:1)
正如错误消息所示,您必须将MessageBox.Show
的选项设置为ServiceNotification
或DefaultDesktopOnly
。这适用于您可能尝试在应用程序中显示的MessageBox。