DevExpress Winforms使用技巧教程:如何在WinForms Apps中显示Toast Notifications(一)
下载DevExpress v19.2完整版 DevExpress v19.2汉化资源获取
DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅、美观且易于使用的应用程序。使用WinForms PictureEdit控件,可以在表单上显示图像。为控件实现DirectX渲染支持,可以轻松处理大的高DPI图像。想要体验?点击下载>>
Toast Notifications(或简称Toasts)是最初在Microsoft Windows 8中引入的平面通知,它们会弹出在屏幕的右下角,可以通过Windows操作中心进行访问。您可以使用DevExpress ToastNotificationManager组件将这些通知合并到下一个Windows Forms应用程序中。
WinForms Toast Notification Manager提供九种通知模板/样式——包括Windows 10通用模板,该模板使您可以合并用户交互控件,例如按钮或编辑器。
应用程序快捷方式
DevExpress WinForms Toast Notification Manager生成正版Windows Toast,这些toasts就像系统通知一样:
- 即使已关闭关联的应用程序,也会出现Toasts。
- Toasts可以从操作中心访问。
- Toasts使用与操作系统相同的配色方案。
为了提供此功能,必须使用本地Windows API并遵循所有Microsoft准则和要求,这包括Microsoft的应用程序快捷方式要求。
在过去,微软对应用程序快捷方式的要求有争议,技术团队最近在设计时进行了较小的改进,并在组件的文档页面中添加新的部分,以帮助解决此问题。
Microsoft在其中明确声明,如果应用程序在Windows Start屏幕中没有快捷方式方式,则它将无法显示Toast。
由于Start屏幕快捷方式存储在 %AppData%\Microsoft\Windows\Start Menu\Programs 文件夹中,因此需要遵循一个简单的规则:如果要显示toast,请将应用程序快捷方式添加到Start Menu文件夹中。
组件在其智能标记菜单中包含"Create Application Shortcut"连接,单击此链接后,您的应用将正确显示通知。
"Create Application Shortcut"命令将快捷方式添加到个人的Start屏幕,换句话说,创建应用程序快捷方式的PC是唯一可以显示toast的机器,其他任何计算机的Start屏幕都没有指向应用程序的快捷方式。如果要显示所有用户的toast,请记住您的应用程序安装程序配置在%AppData%\Microsoft\Windows\Start Menu\Programs文件夹中添加快捷方式(具有有效的AppUserModelID)。
最好的选择是使用安装程序将此快捷方式添加到用户计算机,如果这不是一个选择或您没有安装程序,则可以使用DevExpress.Data.ShellHelper.TryCreateShortcut方法添加适当的快捷方式。
using DevExpress.XtraBars.ToastNotifications; using DevExpress.Data; //if there's no app shortcut in the start screen, add it if (!ShellHelper.IsApplicationShortcutExist("My Test App")) { ShellHelper.TryCreateShortcut( applicationId: manager.ApplicationId, name: "My Test App"); //restart the app Application.Restart(); }
请注意,TryCreateShortcut方法的可靠性不如其他方法可靠。首先,您的应用可能没有必要的权限将文件写入系统文件夹。其次,请注意上面代码片段中Application.Restart方法的使用。 如果应用程序已经在运行,则将其快捷方式添加到Start屏幕将不会启用Toast,需要重新启动应用程序。
DevExpress v19.2线上公开课即将开课,前10名免费参与哦~
DevExpress技术交流群:540330292 欢迎一起进群讨论
扫描关注DevExpress中文网微信公众号,及时获取最新动态及最新资讯