Winforms界面开发技巧:Apps中显示Toast Notifications(一)
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在其Toast Notifications Overview中明确声明,如果应用程序在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中文网微信公众号,及时获取最新动态及最新资讯
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2019-02-28 DevExpress WinForms使用教程:Diagram Control
2018-02-28 【重大更新】DevExpress v17.2新版亮点—Bootstrap篇(二)