You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NotifyIcon ShowBalloonTip显示错误程序集信息问题排查

NotifyIcon气泡提示在后台线程触发时显示异常问题

我有一个包含Windows Forms项目和四个.NET Framework类库项目的解决方案。窗体上有一个NotifyIcon,会在特定场景下显示气泡提示:

  • 其中一个类库通过System.Threading.Thread后台线程触发事件
  • 另一个类库通过System.IO.FileSystemWatcher的Changed事件触发事件

这两类事件在窗体代码中由同一个方法处理,委托方法和自定义事件类(继承自EventArgs)位于独立类库中,被上述三个项目引用。

气泡提示包含自定义标题、提示文本,顶部会显示窗体程序集信息的Title参数。但出现异常:

  • FileSystemWatcher触发事件时:气泡提示顶部标题显示正常
  • 后台线程触发事件时:顶部标题显示错误且无图标,内容为Microsoft.Office.ThisIsAssemblyName.exe.15(其中ThisIsAssemblyName是WinForms项目的程序集名称及exe文件名)

显示气泡提示的方法

public void showBallon(MessageEventArgs e)
{
    ToolTipIcon icon;
    string title = "";

    switch (e.MessageType)
    {
        case MessageType.Warning:
        case MessageType.Error:
            icon = ToolTipIcon.Error;
            title += "Probléma adódott";
            break;
        case MessageType.Success:
            icon = ToolTipIcon.Info;
            title += "Sikeres művelet";
            break;
        case MessageType.Information:
        default:
            icon = ToolTipIcon.Info;
            title = "Figyelem!";
            break;
    }

    this.notifyIcon.ShowBalloonTip(5000, title, e.Message, icon);
}

气泡提示对比(左正常,右异常)

气泡提示对比:左侧为正确显示,右侧为错误显示

已尝试的无效操作:

  • 切换不同的.NET Framework目标版本(当前所有项目均为4.6.1)
  • 移除并重新添加相关类库项目及源码

请问是什么原因导致了这种错误行为?

内容的提问来源于stack exchange,提问作者Adam Mester

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 20:42:06