我目前正在将一个简单的托盘应用程序从Windows (C#,.Net,Winforms)移植到OS (C#,MonoMac,Cocoa)。大部分工作已经完成,但我在使用Windows托盘应用程序经常用来共享信息的气球工具提示时遇到了一些问题:

我不经常使用OS X,但我的印象是,等同于Notification:

但是我不知道如何在MonoMac中使用它。当我在互联网上四处寻找时,我发现了一种叫做“咆哮通知”的东西,但这似乎是一个第三方库,我对此不感兴趣(如果可以避免的话)。在MonoMac框架中也有一个名为NSNotification的类,但我还是无法让它工作。
有没有人对一个糟糕的Windows程序员有一些建议?
发布于 2013-03-11 21:05:17
在Mac上,等价物是notification center。这是在OS 10.8 (Mountain Lion)中引入的。
在引入通知中心之前,可以使用第三方库咆哮添加此功能。Growl在许多情况下仍然适用,因为它比本地通知中心功能更强大。Growl是一个付费插件,用户必须购买并安装。
NSNotification是Mac的一部分,用于在对象和进程之间传递消息。它不是“用户”通知。这很容易混淆,因为NSNotification和NSNotificationCenter是这些旧的API的名称;而您感兴趣的较新的“用户”通知API称为NSUserNotification和NSUserNotificationCenter。
假设你的用户在10.8 / Mountain Lion上,最好使用OS X notification center。似乎有一个example演示了这一点。如果你必须支持早期版本,Growl是一个很好的选择,但用户必须购买/安装它。否则,你可以自己开发一些东西。
另外一点是,Growl与本地通知中心进行integrate,所以这不一定是一个‘非此即彼’的决定。这取决于你想要支持什么。
https://stackoverflow.com/questions/15293796
复制相似问题