我的应用程序上有一个notifyicon,并尝试显示一个ballontip,在Windows 7和Windows 8.1上运行正常,但我无法在Windows 10中运行。
尝试编辑注册表,增加超时,设置气球提示图标并禁用通知作为祝酒词。
这是组件初始化的方式:
private void InitializeComponent()
{
// notifyIcon1
//
this.notifyIcon1.ContextMenuStrip = this.trayMenu;
this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
this.notifyIcon1.Visible = true;
this.notifyIcon1.BalloonTipClicked += new System.EventHandler(this.notifyIcon1_BalloonTipClicked);
this.notifyIcon1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseDoubleClick);
这就是我试图展示气球提示的方式:
void hideToTray()
{
notifyIcon1.BalloonTipTitle = SerialDevMan;
notifyIcon1.BalloonTipText = "Double-click to restore";
notifyIcon1.Visible = true;
notifyIcon1.ShowBalloonTip(2000);
this.Hide();
}
编辑:
经过一整天的努力,我找到了解决方案。
我创建了一个名为now" notifyicon2"的新的notifyicon工具。并将所有代码复制到新图标并且工作正常。但当我删除第一个时,第二个停止工作...恢复第一个没有使第二个工作再次。
创建了一个新的notifyicon,再次完成所有操作,只要我在表单上看不到另一个图标,它就会正常工作。
也许这是一个Windows 10的错误,或者是我现在看不到的东西,我现在会保留我的项目。
答案 0 :(得分:0)
您可以尝试一些检查:
编辑:
让我知道它是否有效!
答案 1 :(得分:0)
这些都不能解决我的问题:(
但是偶然地我修好了它!我的问题是我将我的项目配置为在64位平台上使用32位,并且无论出于何种原因,它们仅在为任何CPU(在这种情况下为64位)运行项目时才会显示!
希望对您有所帮助,这对我来说确实是个谜...
答案 2 :(得分:0)
在X64或X32 Solution平台上将解决方案配置“调试模式更改为发布模式”。它将开始工作。
public static NotifyIcon trayIcon;
trayIcon = new NotifyIcon();
trayIcon.Icon = new Icon("Images/Test.ico");
trayIcon.Visible = true; trayIcon.Text=Path.GetFileNameWithoutExtension(AppDomain.CurrentDomain.FriendlyName);
ContextMenu contextMenu1 = new ContextMenu();
contextMenu1.MenuItems.Add("Menu2", Menu2_Event);
contextMenu1.MenuItems.Add("Menu3", Menu3_event);
contextMenu1.MenuItems.Add("Exit", Close_Click);
trayIcon.ContextMenu = contextMenu1;
trayIcon.BalloonTipText = "Hi Test";
trayIcon.ShowBalloonTip(1000);