2024年终活动

DevExpress控件使用交流,DevExpress中国社区Dev联系电话 联系电话:023-68661681

DevExpress Winforms使用技巧教程:如何在WinForms Apps中显示Toast Notifications(一)

来源:   发布时间:2020-02-27   浏览:2184次

下载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应用程序中。

DevExpress Winforms使用技巧教程

WinForms Toast Notification Manager提供九种通知模板/样式——包括Windows 10通用模板,该模板使您可以合并用户交互控件,例如按钮或编辑器。

DevExpress Winforms使用技巧教程
应用程序快捷方式

DevExpress WinForms Toast Notification Manager生成正版Windows Toast,这些toasts就像系统通知一样:

  • 即使已关闭关联的应用程序,也会出现Toasts。
  • Toasts可以从操作中心访问。
  • Toasts使用与操作系统相同的配色方案。

为了提供此功能,必须使用本地Windows API并遵循所有Microsoft准则和要求,这包括Microsoft的应用程序快捷方式要求。

在过去,微软对应用程序快捷方式的要求有争议,技术团队最近在设计时进行了较小的改进,并在组件的文档页面中添加新的部分,以帮助解决此问题。

Microsoft在其Toast Notifications Overview中明确声明,如果应用程序在Windows Start屏幕中没有快捷方式方式,则它将无法显示Toast。

DevExpress Winforms使用技巧教程

由于Start屏幕快捷方式存储在 %AppData%\Microsoft\Windows\Start Menu\Programs 文件夹中,因此需要遵循一个简单的规则:如果要显示toast,请将应用程序快捷方式添加到Start Menu文件夹中。

组件在其智能标记菜单中包含"Create Application Shortcut"连接,单击此链接后,您的应用将正确显示通知。

DevExpress Winforms使用技巧教程

"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中文网微信公众号,及时获取最新动态及最新资讯

DevExpress中文网微信
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [https://www.devexpresscn.com/]
本文地址:https://www.devexpresscn.com/post/1576.html

相关产品: DevExpress Universal Subscription,

扫码咨询
电话咨询
023-68661681
返回
顶部