gpt4 book ai didi

vb.net - 如果应用程序框架被禁用,将 VB.Net 托盘应用程序设置为单实例?

转载 作者:行者123 更新时间:2023-12-01 13:42:13 25 4
gpt4 key购买 nike

我想创建一个直接启动到托盘的 VB.Net 托盘应用程序,而不是通过隐藏的启动表单发送到托盘。我找到了一篇解释如何执行此操作的 CodeProject 文章,它运行良好。它描述了如何禁用应用程序框架(然后稍后重新启用它),因此可以将启动对象设置为具有启动代码的模块。

但是在重新启用应用程序框架后,我如何以编程方式启用“制作单实例应用程序”..?

由于框架最初是禁用的,因此它的所有复选框也都被禁用,包括用于单个实例的复选框。我检查了以下两个命名空间,但找不到任何名为“SingleInstance”的属性或任何类似或看似相关的属性:

System.Windows.Forms.Application
System.Windows.Forms.ApplicationContext

那怎么办呢?

作为引用,这里是文章:

http://www.codeproject.com/Articles/75822/Create-a-System-Tray-Application-in-VB-NET

最佳答案

您找不到“SingleInstance”属性或任何类似的东西,因为它不存在。单实例的概念是 Visual Basic 编译器在您选中项目属性中的“创建单实例应用程序...”框时为您添加的编译器魔法。如果您想在仅托盘应用程序中使用 Visual Basic 魔法,您将需要自己管理启动代码的几个部分。

您需要两段代码才能完成这项工作。

  1. 继承自 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase 并覆盖 OnRun 方法。您将在此处使用 WindowsFormsApplicationBase 的方法创建托盘应用程序来提供帮助。

  2. 应用程序的 Sub Main 入口点,它创建应用程序基础实例并调用 OnRun 方法。

您可以阅读 this article有关 WindowsFormsApplicationBase 工作原理的更多信息。

关于vb.net - 如果应用程序框架被禁用,将 VB.Net 托盘应用程序设置为单实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39060242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com