65.9K
CodeProject 正在变化。 阅读更多。
Home

NotifyIconExample 显示 NotifyIcon 和任务栏逻辑的所有组合以及更多内容

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.49/5 (10投票s)

2008年11月16日

CPOL

24分钟阅读

viewsIcon

79251

NotifyIconExample 展示了 NotifyIcon、任务栏和更多功能的全部可能组合。NotifyIcon、任务栏、隐身、受限退出、共享上下文菜单、多个上下文菜单、Microsoft ClickOnce 部署技术、ClickOnce 自动更新技术的所有可能技巧。

工作示例

这是一个工作示例,它使用这些方法实时翻译 57 种不同语言的 Skype 聊天,并用 10 种不同语言朗读您的 Skype 聊天消息和联系人状态更改。

Click here for more information

更多信息在这里

点击此处了解更多信息

下载次数

注意:您需要安装任何版本的 Microsoft Visual C# 才能正确安装这些 Visual C# 项目模板。如果您尚未安装 Microsoft Visual C#,可以在下方免费安装最新版本的 Microsoft Visual C# 2008 Express Edition

免费安装 Microsoft Visual C# 2008 Express Edition - C# 3.0 .NET 3.5(SP1) 最新版本

点击此处下载免费的 Microsoft Visual C# - 2010 Express Edition

安装 TheNotifyIconExample

点击并选择“打开”或“运行”以安装 TheNotifyIconExample 模板

您现在应该能够打开 Microsoft Visual C# Visual Studio 并执行以下操作

文件 -> 新建项目 -> 我的模板(“现在选择带有注释的 TheNotifyIconExample 来玩并阅读 TheNotifyIconExample 模板的功能和工作原理,没有注释的模板不会向您显示该信息,因为注释已被删除。”)选择一个项目名称,点击确定。

现在按原样构建项目。为此,只需在 Visual Studio C# 中执行以下操作:

生成 -> 生成解决方案

要按原样运行新项目(“使用下面所示的默认 Visual Studio 项目用户设置”),请在 Visual Studio C# 中执行以下操作:

调试 -> 开始调试

要停止调试,只需退出 TheNotifyIconExample 或在 Visual Studio C# 中执行以下操作:

调试 -> 停止调试

要更改任何 Visual Studio 项目用户设置并了解它们如何轻松地为所有项目(现在和将来)更改,请在 Visual Studio C# 中执行以下操作:

项目 -> TheNotifyIconExample -> 设置

使用鼠标展开/收缩列。

左键单击“值”(“在每个设置的右侧,从下拉列表框中选择 true 或 false”),然后从 Visual Studio 顶部菜单中选择

调试 -> 开始调试 无需重新生成项目即可测试或保存设置更改。

在 Visual Studio C# 的解决方案资源管理器窗口中,右键单击 Form1.cs 并选择“查看代码”以查看源代码。

退出 Visual Studio 时,您可以选择保存此项目或放弃它。您未来的所有项目都如此简单!

事实而非虚构

1. 从一个项目到下一个项目,没有什么比编写项目启动时的显示方式、执行期间显示的内容、NotifyIcon?任务栏?任务栏何时显示?正常显示期间?最小化时?您的上下文菜单逻辑、退出逻辑、部署逻辑和更新逻辑更冗余且更耗时。

不仅仅是 NotifyIcon 的示例用法,更是黄金标准

2. 这个例子将比您在其他任何地方找到的任何一个例子都能为您节省更多时间,这是我的承诺,因为其中包含 Visual Studio 项目模板,您可以将这些技术用于您未来的所有项目。没有任何东西能像一个完整的解决方案那样易于使用,可以满足您未来所有的项目需求。没有任何!

TheNotifyIconExample 能为我做什么,能教我什么?

每个人都有某种关于 NotifyIcon、任务栏、ContextMenuStrip、鼠标点击逻辑、启动和退出逻辑的示例。

没有人将所有这些都组合在一起,并且所有这些都可以通过 Visual Studio 项目用户设置进行更改,甚至不需要在 Visual Studio C# 项目模板中重新构建项目。

因此,您不仅能够更快地创建项目,而且如果您愿意,可以在项目创建的第二秒查看生成的源代码,以了解所有这些奇迹是如何完成的。

TheNotifyIconExample 使用 Visual C# 项目模板,一个带注释,一个不带注释(“否则它们是相同的”),作为任何项目(现在或将来)的基础代码,以控制您的启动最小化、正常、带或不带任务栏或 NotifyIcon、退出、Form1 和 NotifyIcon 上的鼠标点击、任务栏和 NotifyIcon 组合(包括隐身),以及只允许您的应用程序或程序在任何系统上运行一个副本。

同时支持 ClickOnce 安装和自动更新技术。所有这些都使用 Visual Studio 项目用户设置完成。不再需要每次为每个项目的这些功能编写代码。这些在您的项目创建的第二秒就已经完成。

本文的其余部分适用于那些想了解更多关于这些 C# 项目模板和 Microsoft ClickOnce 部署和自动更新技术的人。

为未来的项目节省数百小时的编码时间

使用 Visual Studio 项目用户设置完成所有这些操作,适用于您的所有项目。

从您的项目创建的那一刻起。

创建程序和应用程序快三到四倍

从现在开始,再也不用编写一行显示、启动或退出逻辑、NotifyIcon、任务栏、NotifyIcon MouseClick 或复杂的上下文菜单代码。

现在或将来,永远不要为您的任何项目创建或修改任何安装项目,也不需要购买任何第三方部署软件来部署您的应用程序或程序。

向用户提供即时错误和功能更新

永远不必担心如何为您的应用程序和程序的错误或新功能推送更新。

您可以随时自动更新它们,并在您选择时将其推送给您的用户,以便他们始终拥有最新版本的软件。

现在或将来,再也不要浪费时间在冗余代码上

永远不要再次更改或修改任何此类代码,永远不要,永远不需要在现在或将来重新构建任何项目,当或如果以下任何设置被更改或修改时。

无需重新生成项目即可更改设置!

相反,只需使用 Visual Studio 项目用户设置和此示例中提供的 Visual Studio 项目模板,从下拉列表框中选择一个 True 或 False 设置

  • 允许您的程序在每个系统上只运行一个实例
  • 正常启动,带/不带通知图标,带/不带任务栏
  • 最小化启动,带/不带通知图标,带/不带任务栏
  • 支持所有可能的 NotifyIcon 和任务栏显示及鼠标点击组合
  • 正常或最小化显示时,NotifyIcon 无任务栏
  • 正常显示时有 NotifyIcon 和任务栏,最小化时无任务栏
  • 最小化时有 NotifyIcon 和任务栏,正常显示时无任务栏
  • 最小化和正常显示时均有 NotifyIcon 和任务栏
  • 正常和最小化时有任务栏,无 NotifyIcon
  • NotifyIcon 单击右键不执行任何操作,使程序无法通过 GUI 停止
  • NotifyIcon 单击右键显示上下文菜单
  • NotifyIcon 单击右键显示 Form1
  • NotifyIcon 单击左键不执行任何操作
  • NotifyIcon 单击左键显示 Form1
  • NotifyIcon 单击左键显示上下文菜单
  • NotifyIcon 单击左键显示不同的上下文菜单
  • NotifyIcon 双击右键不执行任何操作
  • NotifyIcon 双击右键显示上下文菜单
  • NotifyIcon 双击右键显示 Form1
  • NotifyIcon 双击左键不执行任何操作
  • NotifyIcon 双击左键显示上下文菜单
  • NotifyIcon 双击左键显示 Form1
  • Form1 单击右键不执行任何操作
  • Form1 单击右键显示上下文菜单
  • Form1 单击右键显示 Form1
  • Form1 单击左键不执行任何操作
  • Form1 单击左键显示 Form1
  • Form1 单击左键显示上下文菜单
  • Form1 单击左键显示不同的上下文菜单
  • Form1 双击右键不执行任何操作
  • Form1 双击右键显示上下文菜单
  • Form1 双击右键显示 Form1
  • Form1 双击左键不执行任何操作
  • Form1 双击左键显示上下文菜单
  • Form1 双击左键显示 Form1
  • NotifyIcon 文本自动匹配您的项目名称
  • 上下文菜单显示 Form1 菜单项自动匹配您的项目名称
  • 自动受限退出警告消息匹配您的项目名称
  • 自动与 Form1 和 NotifyIcon 共享上下文菜单
  • 自动将多个上下文菜单与 NotifyIcon 结合使用
  • 所有上下文菜单都内置了“关闭上下文菜单”项,以方便用户使用
  • 完全 GUI 隐身选项
  • 没有意外的隐身设置组合,此代码避免了这些不良设置
  • 受限退出,禁止从 Form1 X 关闭选项,而是最小化到系统托盘
  • 受限退出警告消息,选项,通知用户从上下文菜单退出
  • 所有这些 Visual Studio 项目用户设置都可以轻松添加到用户 GUI 中
  • Microsoft ClickOnce 部署技术
  • 再也不用使用其他安装项目或第三方部署包
  • 通过内网或互联网部署和更新您的程序和应用程序
  • Microsoft ClickOnce 自动更新,再也不用担心推送更新
  • 提供带注释和不带注释的 Visual Studio 项目模板
  • Visual Studio 项目模板自动将项目项更改为您的项目名称
  • 从这些模板创建您自己的 Visual Studio 自定义项目模板
  • 使用 .NET 3.5(SP1) 和 C# 3.0 构建,两者都是微软的最新版本
  • 同时向后兼容 .NET 2.0 和 C# 2.0
  • 可与免费的 Microsoft Visual C# 2008 Express Edition 配合使用
  • NotifyIcon 如果显示,在程序关闭时会消失,不像其他解决方案
  • 没有因 NotifyIcon 上的鼠标点击而引起的 Form1 焦点问题
  • 没有其他示例能为您节省更多时间、测试或金钱,同时提供如此大的灵活性
  • 唯一已知的一体化可重用于所有未来项目,无需代码、无需重建的解决方案

立即停止浪费宝贵的编码和测试时间!

将您的才能用于重要的事情,例如程序或应用程序的创建目的。

更快地完成您的项目,并且再也不用修改启动或退出逻辑,NotifyIcon 或任务栏逻辑,或上下文菜单或鼠标点击分配逻辑的代码,而是使用 Visual Studio 项目用户设置。

从内网和互联网部署和自动更新

无需任何启动项目或第三方安装程序,即可使用 Microsoft ClickOnce 技术从网站或网络服务器部署您的项目。

随时向您的程序和应用程序推送更新

学习如何使您的程序和应用程序在发现错误、添加新功能或进行更改时自动更新,所有这些只需将新版本的程序或应用程序发布到网站或网络服务器即可。

您的用户将自动检测到新版本的程序和应用程序何时可用,频率可以像每次运行软件一样频繁,您也可以使用 Microsoft ClickOnce 更新技术选择检查新版本的频率。

这将为您节省多少编码和测试时间?

那么,我刚刚在您将来创建的每个项目上为您节省了多少小时?

您准备好节省时间和金钱了吗?

这里有一个小问题。您需要阅读并使用这里的示例,才能了解上面所有内容。您应该不需要超过 1 小时就能学会上面所有内容。这就是为什么这里没有代码片段,因为您需要下载并亲自尝试。

你学得有多快?

经验丰富的 Visual Studio 用户可以直接使用 Visual Studio 模板文件。项目示例和 ClickOnce 安装示例更多是展示工作示例。

你大胆吗?

所以,如果你觉得大胆,就直接安装 Visual Studio 模板,不用再玩实际项目了。你可以用 Visual Studio 项目模板创建自己的测试项目。

查看 Microsoft ClickOnce 部署的实际应用

然而,您可能仍然想了解 Microsoft ClickOnce 部署技术如何从 Web 服务器或网站工作,因此您可能仍然希望尝试点击下面的图片或下面的 ClickOnce 安装链接,以了解为演示项目完成该魔法的方式,该项目是使用 Visual Studio C# 项目模板创建的,从创建到部署不到 10 分钟。ClickOnce 不需要安装项目,不需要 MSI 封装,不需要第三方安装程序,并且如果缺少所需文件(例如程序所需的 .NET 版本),ClickOnce 检测到这些文件需要时,它还会自动安装任何所需文件。

这一切都是免费完成的!——却节省了大量时间和金钱

这个完整的项目以及所有文件,包括 Visual Studio 项目模板和发布到 Web 服务器的 Microsoft ClickOnce 部署文件(用于此示例和文章),以及 Microsoft ClickOnce 自动更新技术,都是使用免费的 Microsoft Visual C# 2008 Express Edition 创建的,您可以通过点击此处下载。

本文所使用的所有文件,包括在此处创建的文件,以及此处使用和演示的技术,除了用于部署和自动更新 Microsoft ClickOnce 发布文件所需的 Linux 网络服务器外,均无任何成本。

虽然这个示例是 C# 编写的,但其中概念可以应用于许多其他 Windows 语言。项目注释非常详细,正是出于这个原因,因此也提供了不带注释的项目模板供下载。

Click here To install TheNotifyIconExample using Microsoft ClickOnce Technology

点击上图,安装使用 Microsoft ClickOnce 技术,从项目创建到部署,不到 10 分钟内创建的 TheNotifyIconExample 演示项目(带有注释的 TheNotifyIconExample 模板)

注意:如果您尚未安装 .NET 3.5 (SP1),则如果需要,它将被安装。这是 TheNotifyIconExample 使用 ClickOnce 部署技术为您选择的任何项目提供的另一个强大功能。

TheNotifyIconExample 演示可以从控制面板的“添加/删除程序”中卸载

背景

我过去看过许多 NotifyIcon 示例,但它们都没有展示如何使用 Visual Studio 项目用户设置来支持所有可能支持的 NotifyIcon 和任务栏逻辑组合。

这个例子不仅实现了这些功能,还提供了 Visual Studio 项目模板(“两个版本,一个带注释,一个不带注释,否则两个 Visual Studio 项目模板相同”),您将来可以使用它们来构建所有项目,这样您就再也不需要在任何项目中为启动逻辑添加任何代码行。

这包括诸如鼠标单击和双击分别执行什么操作,以及何时或是否单击 NotifyIcon(“如果您使用 NotifyIcon,这里也有一个设置可以禁用或启用它”)等功能。

结合展示共享和使用不同上下文菜单的示例,以及最小化和正常表单显示的启动逻辑、限制性退出逻辑、GUI 隐身性,处理在执行这些操作时涉及的所有焦点问题,这些问题通常在许多情况下未被处理、显示或解释。

这意味着您可以在任何时候使用 Visual Studio 项目用户设置更改启动逻辑、任务栏显示逻辑、NotifyIcon 鼠标点击分配逻辑(即鼠标点击执行什么操作)和退出逻辑,而无需添加或修改任何代码,甚至无需在更改任何这些设置时重新构建项目。

除了所有上述内容之外,还展示了如何在项目中利用 Microsoft ClickOnce 部署和 ClickOnce 自动更新技术,以便您可以从网站或 Web 服务器部署项目,并打包支持自动更新的程序和应用程序,将所有这些整合到一个 Visual Studio 项目模板中,您可以为自己的 Visual Studio 项目模板或所有未来的项目使用甚至自定义,这使得这个示例确实非常独特。

上述示例 ClickOnce 演示,只是展示了一个从 TheNotifyIconExample 项目模板的注释版本构建的运行程序。

本文和示例的真正魔力在于,当您下载、安装并使用这里提供的 Visual Studio 项目模板作为创建新项目时的模板之后。

此 ClickOnce 演示项目示例可以随时从控制面板的“添加/删除程序”图标中删除。

上述示例和下载文件中 Visual Studio 项目用户设置的默认值使用以下 Visual Studio 项目用户设置

点击此处安装使用 ClickOnce 技术从 NotifyIconExample 创建的演示项目

因此,当运行示例 ClickOnce 演示项目时,您将看到这些设置,并且两个模板的默认设置也相同。

选择这些默认值并非因为它们是最佳的,而是为了展示这些设置所能提供的多样性。

1. 我们并不总是退出,我们禁止使用“X”退出 Form1,但会从 ContextMenuStrip 退出。

2. 我们显示一个退出警告 NotifyIcon 气泡提示,告知用户我们将最小化到系统托盘而不是退出,但他们可以点击 ContextMenuStrip 中的退出,我们就会退出。

3. 在 Form1 的空白区域双击鼠标右键可使 Form1 在正常显示和最小化之间切换。

4. Form1 上的鼠标左键单击显示一个不同于 NotifyIcon 显示的普通 ContextMenuStrip。这允许在需要时即时支持多个 ContextMenuStrip。

5. Form1 空白区域上的鼠标右键单击被禁用,以显示 ContextMenuStrip。这意味着在 Form1 空白区域上单击鼠标右键将不会显示 ContextMenuStrip,而默认情况下,当 ContextMenuStrip 分配给 Form1 时会显示。

6. 在 NotifyIcon 上单击鼠标左键会显示通常在 NotifyIcon 上单击鼠标右键时显示的普通 ContextMenuStrip(当 ContextMenuStrip 分配给 NotifyIcon 时)。

7. NotifyIcon 上的鼠标右键单击被禁用,因此当 NotifyIcon 被单击右键时,正常上下文菜单将不会显示。

8. NotifyIcon 上的鼠标右键单击在 Form1 的最小化、正常和最小化显示之间切换。

9. 当我们处于正常显示状态时,我们会显示一个任务栏项目,但当我们最小化时则不会。

10. 我们在系统托盘中显示一个通知图标。

11. 我们不最小化启动。我们以正常显示状态启动。

12. 我们只允许该程序的一个实例同时运行。

如您所见,这些设置中的任何一个都可以随时更改,而无需编写任何代码,甚至无需重新构建项目。

只要您使用此模板创建任何项目,所有这些逻辑都会在项目创建的第二秒就存在,无需编码,“只需设置一次,然后忘记它!

完成项目速度快 3、4 甚至 5 倍,因为所有精力都集中在创建程序或应用程序的目的上,而不是其启动或显示方式、测试 NotifyIcon、任务栏、退出逻辑、Form1 或 NotifyIcon 上的左/右单击/双击以及分配、构建和共享 ContextMenuStrip。所有这些逻辑和测试现在都已经完成,甚至在您向项目添加一行代码之前,所有这些都已经到位。

由于所有这些都使用 Visual Studio 项目 C# 模板完成,因此任何项目都可以使用多种设置。

现在,想象一下通过使用这些模板,不再重复相同的显示、启动、退出逻辑、Form1 和 NotifyIcon 的鼠标点击分配以及任务栏组合,以及能够即时获得“单实例”功能、Microsoft ClickOnce 部署和 ClickOnce 自动更新技术所节省的时间。

现在您可以专注于每个项目的目的,并快速更改 Visual Studio 项目设置,而不是为每个项目编写特殊的启动和显示逻辑。

您现在可以下载并安装示例项目 Download NotifyIconExample.zip 或从 Download AllNotifyIconExample.zip 中提取(“阅读 Readme.txt 文件”),以便更改设置并查看这有多么容易。实际上根本不需要使用该项目,因为模板才是核心,但是,如果您使用此处的 ClickOnce 安装链接安装示例项目,它会向您展示带有注释的项目模板已用于构建演示项目。

整个演示项目从创建到部署,从 Visual C# 项目模板创建到上传到 Web 服务器进行 ClickOnce 部署,总共花费了 10 分钟。

当任何设置更改时,永远不需要重新构建项目。

使用 Microsoft ClickOnce 部署 - 自动更新技术

从 Linux Web 服务器部署您的 Visual Studio 项目

如果您想使用 Microsoft ClickOnce 技术从 Linux 服务器或网站部署您的应用程序,您首先需要确保在该服务器或网站上定义了这些 MIME 类型

对于 ClickOnce,您需要正确配置 MIME 类型。

.application --> application/x-ms-application
.manifest --> application/x-ms-application
.deploy --> application/octet-stream

如果您将 .Net 3.5 作为先决条件(并且您应该推送您所针对的 .Net Framework 版本),您还需要这些

.msp --> application/microsoftpatch
.msu --> application/microsoftupdate

如果你有 vsto 应用程序,你也需要这个

.vsto --> application/x-ms-vsto

定义这些 MIME 类型后,您可以自动推送应用程序更新,并使用 Microsoft ClickOnce 技术从网络安装。

随着新功能或错误修复被添加到您的程序和应用程序中,您现在可以确保您的程序和应用程序用户可以在可用后立即访问这些更改,无需用户手动操作,也无需您付出任何努力,只需将新版本发布到 Web 服务器或网站,其余部分将自动进行,并根据您的 Visual Studio 发布设置。

举例来说,如果用户一个月没有运行您的程序或应用程序,而在此期间您更新了 3 次,他们将只收到安装最新更新的提示,而不是所有 3 次更新。使用 ClickOnce 部署和 ClickOnce 更新技术有很多优势。此处有更多关于 Microsoft ClickOnce 的信息

点击此处获取 Microsoft ClickOnce 和 .NET Framework 资源

使用这些模板设置您的项目的 Visual Studio 发布设置

在 Visual Studio 中,使用提供的 NotifyIconExample 项目或使用示例 Visual Studio 项目模板创建的项目,执行以下操作

项目 -> [项目名称] 属性 -> 发布

点击“更新”和“选项”按钮,注意您如何在没有启动项目和任何其他第三方工具的情况下(即使使用 Visual Express Editions)从网站或网络服务器部署您的程序或应用程序。

当然,我将网站名称更改为“YourWebSite.com”,但您仍然可以看到如何使用此示例中提供的 Visual Studio 项目模板从网站或网络服务器部署您的程序或应用程序。

更新按钮

您可以启用或禁用自动更新检查。

您可以要求安装最低版本。

您还可以定义检查更新的频率。

您可以让程序或应用程序每次启动或停止时自动更新,或者使用“更新”按钮并设置您的偏好,来设置程序或应用程序检查更新的频率。

此示例在 TheNotifyIconExample 项目启动前更新。如果有任何更新,用户将收到通知并提示自动安装新版本,当他们在程序或应用程序实际启动之前运行它时。

选项按钮

选择“选项”按钮时,检查所有菜单项。

描述 - 允许您添加指向支持网页和错误页面的链接。

清单 - 允许自动创建桌面图标。

通过使用网站或 Web 服务器进行部署,您将使您的程序或应用程序可供您的客户群或公司进行自动更新。仅此一项功能就值得写一篇文章,但我认为我应该尝试使用这个项目作为一个真实世界的示例,并利用这篇文章来演示使用 Microsoft ClickOnce 技术的强大功能,既可以避免安装项目或第三方安装程序及其所花费的额外时间,也可以实现使用 ClickOnce 自动感知逻辑的自动更新。我认为其他第三方提供商无法提供所有这些可从 Microsoft ClickOnce 技术免费获得的功能。

关注点

我从事程序员工作已经 39 年了,大部分时间是在大型机和 Tandem 系统上,但在过去的 15 年里,我也从事 Windows 编程。

要了解 Don Kennedy 如何获得“OverLord”昵称,请点击此处

我发现,有时很难将所有关于 Forms、NotifyIcon 和任务栏的焦点问题、NotifyIcon 和上下文菜单组合的鼠标点击组合以及 ClickOnce 示例的所有信息都集中在一个地方,这几乎是不可能的。

此示例允许您将所有这些功能组合到一个项目模板中,如果您愿意,可以进一步自定义它。

如果您和我一样,您会在每个项目上花费大量时间,思考您的程序或应用程序如何启动显示,NotifyIcon 将支持任务栏和/或 NotifyIcon 逻辑以及鼠标点击组合的何种组合,上下文菜单逻辑,退出逻辑以及 ClickOnce 部署和自动更新技术逻辑。我做了太多次了,我闭着眼睛也能做,这让我有时间睡觉。

所以现在您可以停止手动添加或一遍又一遍地从一个项目到另一个项目键入相同的代码,并手动修改代码以支持任何更改,而是使用这些 Visual Studio 项目模板(“或从这些模板创建您自己的 Visual Studio 项目模板”),这些模板不需要为您的未来项目更改代码,只需使用 Visual Studio 项目用户或应用程序设置,即可在您的项目中实现启动、运行、退出、部署和自动更新逻辑,甚至在您更改它们时也无需重新构建您的项目。

我撰写本文和提供此示例的目标是提供一个可运行的示例项目,以快速演示这些设置和 Microsoft ClickOnce 部署在实际项目中的应用,您可以使用 Microsoft ClickOnce 技术进行安装。同时,还提供 Visual Studio 项目模板,让您能够快速将此逻辑添加到您未来的任何项目中,以便您有更多时间专注于您的程序和应用程序的目的。

如果您愿意,这些设置也可以轻松地提供给您的用户,这样您的用户就可以定义他们希望为您的程序和应用程序定义的选项,只需通过在您的应用程序中添加复选框来控制此处包含的 Visual Studio 项目用户设置,如果您希望您的用户能够控制这些设置。

通过使用 Visual Studio 项目用户设置,用户选择的设置可以按 Windows 用户 ID 或按应用程序进行,这些示例是按 Windows 用户 ID 进行的。

希望使用这些可重用的 Visual Studio 项目模板或组合这些模板或创建自己的模板,将来能为您节省大量时间。

如果您觉得这个示例和文章有帮助,请在这里通过您的投票、评论或问题告诉我。

看来我这篇文章被狠狠地“抨击”了(“到目前为止”),我实在不明白为什么。好吧,生活就是这样。哈哈。

关于如何真正看到此示例的强大功能和所能节省时间的建议

1. 使用上面的 ClickOnce 链接安装示例,并查看上面使用的设置。

2. 下载上面的所有文件压缩包并构建项目,更改设置以查看它们可以多么容易地更改。

3. 将两个模板都放入您的 C# Visual Studio 项目模板文件夹中,请参阅上面的“使用 Visual Studio 项目模板的示例”

TheNotifyIconExamplewc.zip - 带注释的模板

TheNotifyIconExamplewoc.zip - 带注释的模板

4. 使用其中一个模板创建一个新的 Visual Studio 项目,随意命名,然后构建它。玩弄设置。如您所见,您的项目中不再需要担心 NotifyIcon、任务栏、启动显示、上下文菜单或退出逻辑,现在您可以使用这些模板之一在创建项目时将其全部包含在内。

注意:构建这些示例时可能需要创建测试密钥,因为它们都使用 ClickOnce 技术设置,这要求您的项目使用密钥签名才能使用 ClickOnce 技术。要从 Visual Studio 中执行此操作(“仅当构建项目时出错时才执行此操作”)

项目 -> [项目名称] 属性 -> 签名 -> 创建测试证书(“如果您没有自己的证书”)

其他说明

使用 Microsoft ClickOnce 部署时,用于发布的文件夹必须在尝试发布之前已在 Web 服务器或网站上创建,否则您将收到错误。

项目用户设置名称一目了然,当它们设置为 true 时,它们会执行其名称所指的功能;当它们设置为 false 时,它们不会执行其名称所指的功能。

此示例不包含对冲突或重叠的项目用户设置逻辑的支持,除了未设置任何可能导致您意外隐身的内容之外。

当受限退出逻辑生效时,“退出警告消息”文本需要手动更改,以反映您最终选择支持上下文菜单显示的实际鼠标点击,如果有的话,以从通知图标调用上下文菜单。

享受。

TheUberOverLord 又名 Don Kennedy

历史

原始发布版本 1.0.0.0 - 如需这些方法在我在 CodeProject 上撰写的另一篇文章中的实际示例,请点击此处

© . All rights reserved.