我目前正在从Windows(C#、. Net,Winforms)向OS X(C#,MonoMac,Cocoa)移植一个简单的托盘应用程序。大多数工作已经完成,但是与OS X等效的气球工具提示遇到了一些麻烦,Windows托盘应用程序经常使用它们来共享信息:
我没有使用OS X太多,但是给我的印象是等效的是一个Notification:
但是我不知道如何从MonoMac中使用它。在Internet上浏览时,我会发现一个名为“ Growl通知”的东西,但这似乎是第三方库,对此我不感兴趣(如果可以避免的话)。 MonoMac框架中还有一个名为NSNotification的类,但是同样,我无法使其工作。
有没有人暗示过一个贫穷的Windows程序员?
最佳答案
在Mac上,等效的是notification center。这是在OS 10.8(Mountain Lion)中引入的。
在引入通知中心之前,可以将此功能与第三方库Growl一起添加。 Growl在许多情况下仍然适用,因为它比本机通知中心更具功能。 Growl是用户必须购买和安装的付费附件。
NSNotification是Mac API的一部分,用于在对象和进程之间传递消息。这不是“用户”通知。令人困惑的是,NSNotification和NSNotificationCenter是这些较旧API的名称。而您感兴趣的更新的“用户”通知API称为NSUserNotification和NSUserNotificationCenter。
假设您的用户使用的是10.8 / Mountain Lion,则最好使用OS X notification center。似乎有一个example证明了这一点。如果您必须支持早期版本,那么Growl是一个不错的选择,但是用户必须购买/安装它。否则,您可以自己开发一些东西。
还有一点是,Growl对本机通知中心进行了integrate的操作,因此它不一定是“要么/还是”决定。这仅取决于您要支持的内容。
关于c# - 在Monomac中使用Mac通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15293796/