我想在通知区域旁边显示一个小弹出窗口。它类似于Outlook/Skype/Live!Messenger/etc在显示有关新消息的通知时会执行此操作。在我的例子中,它将有一些输入控件(文本框、日期时间选择器、按钮......),所以一个简单的气泡是行不通的。诀窍是在用户有多个显示器和/或任务栏不在屏幕底部时正确执行此操作。我找不到任何可以让我确定任务栏/通知区域的位置和方向的函数。 最佳答案 使用WinAPI调用找到任务栏位置,并根据它定位您的窗口C#ExampleclassProgram{staticvoidMain(string[
我想在用户最小化或关闭表单时在系统托盘中添加应用程序。我已经为Minimize案例完成了它。谁能告诉我如何在关闭表单时保持我的应用程序运行并将其添加到系统托盘中?publicMainWindow(){InitializeComponent();System.Windows.Forms.NotifyIconni=newSystem.Windows.Forms.NotifyIcon();ni.Icon=newSystem.Drawing.Icon(Helper.GetImagePath("appIcon.ico"));ni.Visible=true;ni.DoubleClick+=dele
我在我的应用程序中添加了一个通知图标,而且我经常在我的系统托盘中看到多达3个通知图标副本。这是有原因的吗?有没有办法阻止它发生。通常这种情况在我的应用程序关闭后仍然存在,直到我移至系统托盘,系统托盘展开和折叠,然后它们全部消失。 最佳答案 这是在您调试应用程序时吗?如果是这样,这是因为从系统托盘中删除图标的消息仅在应用程序正常退出时发送,如果它因异常终止或因为您从VisualStudio终止它,该图标将一直保留,直到您将鼠标悬停在它上面。 关于c#-为什么我会看到多个系统托盘图标?,我们
我正在尝试创建一个只有托盘图标且不出现在任务栏中的应用程序。(类似于Dropbox)我需要同时创建Windows和Mac版本的应用程序,所以我尝试使用MonoMac创建Mac前端。在MonoMac中创建仅托盘应用程序的最佳方法是什么?我找到的所有资源都说要做以下两件事之一:添加LSUIElement1到Info.plist文件。将以下代码添加到FinishedLaunchingAppDelegate中的事件类别:NSApplication.SharedApplication.ActivationPolicy=NSApplicationActivationPolicy.Accessory
我试图在系统托盘中显示2-3个可更新字符,而不是显示.ico文件-类似于CoreTemp在系统中显示温度时所做的尝试:我在我的WinForms应用程序中使用NotifyIcon以及以下代码:FontfontToUse=newFont("MicrosoftSansSerif",8,FontStyle.Regular,GraphicsUnit.Pixel);BrushbrushToUse=newSolidBrush(Color.White);BitmapbitmapText=newBitmap(16,16);Graphicsg=Drawing.Graphics.FromImage(bitm
我希望将我的一个C#应用程序转移到Mono以便在Mac上使用。目前,我正在尝试弄清楚如何使它成为一种“后台”进程,但仍然具有GUI元素的能力(我相信这排除了mono-service)。最终目标是这样的:在大多数交互中按时钟放置一个托盘图标。删除启动的应用程序通常附带的停靠栏图标让应用程序在启动时运行。简而言之,想想Dropbox应用程序工作。我想要那种类型的GUI,但带有Mono/Mac应用程序。我相信这通常是通过在应用程序包的Info.plist中设置LSUIElement=1来实现的。但是,我没有运气。我认为这可能与从应用程序包中启动我的应用程序的mono命令有关。一旦应用程序启动
我知道如何在Windows通知区域(系统托盘)中放置一个图标。使图标具有动画效果的最佳方法是什么?您可以使用动画gif,还是必须依赖计时器?我使用的是C#和WPF,但也接受了WinForms。 最佳答案 AbhinabaBasu'sblogpostAnimationandTextinSystemtrayusingC#解释。归结为:制作一组图标,每个图标代表一个动画帧。根据计时器事件切换托盘中的图标创建一个位图条。每帧为16x16像素使用SysTray.cs例如privatevoidbutton1_Click(objectsender
我遵循了将应用程序减少到系统托盘的常用链接提示:http://www.developer.com/net/csharp/article.php/3336751现在它可以工作了,但是仍然有一个问题:我的应用程序在启动时显示;我希望它直接在系统托盘中启动。我试图将它最小化并隐藏在Load事件中,但它什么也没做。编辑:我可以像发帖人建议的那样修改快捷方式属性,但我宁愿使用代码:我无法完全控制安装该软件的每台计算机。我不想从系统托盘以外的任何地方完全删除它,我只想让它开始最小化。有什么想法吗?谢谢 最佳答案 在你的主程序中你可能有这样一行:
我有一个用C#编写的DVD读取和刻录应用程序。我希望能够检测空驱动器(无磁盘)和打开的驱动器之间的区别。编辑:经过更多谷歌搜索后,我认为更好的问题描述是“我想访问驱动器托盘状态-打开或关闭”我可以用ManagementObjectSearcher("SELECT*FROMWin32_LogicalDiskWHEREDriveType=5")找到系统中所有的dvd驱动器,属性告诉我驱动器中是否有磁盘。Access属性告诉我是否有空白磁盘。但是当驱动器打开时Access为空,当驱动器关闭且为空时。而且我没有看到任何其他属性在驱动器打开或关闭时发生变化。有人知道区分打开的驱动器和关闭的空驱动
如何将NotifyIcon设置为在右侧托盘中始终可见:http://screensnapr.com/v/qKWHe2.png因为它将它转移到非事件图标窗口中:http://screensnapr.com/v/jjtuK0.png问题是托盘图标有一个上下文菜单,可以让别人截屏。因此,每次他们截屏时,那个不活动的图标窗口都会出现在图片中,像照片轰炸机一样挡住它后面的任何东西。我知道可以通过代码来完成,因为其他应用程序(例如comodo)无需我将图标拖放到那里就可以完成。为了将快捷方式固定到任务栏,我了解到您在此文件夹中设置了快捷方式:C:\Users\Username\AppData\Ro