C# ShowCustomeBalloon-->;ArgumentOutOfRange异常

C# ShowCustomeBalloon-->;ArgumentOutOfRange异常,c#,wpf,notifyicon,C#,Wpf,Notifyicon,我编写了以下代码来显示自定义气球。气球工作了。它在消失前5秒显示。但它抛出了一个我无法捕捉的例外。。。我不明白为什么它会被扔出去 String title = "Trelp Balloon Info"; String text = "Trelp started"; try { tbi.ShowCustomBalloon(MakeCustomBalloonStackPanel(title, text), System.Windows.Controls.Primitives.PopupA

我编写了以下代码来显示自定义气球。气球工作了。它在消失前5秒显示。但它抛出了一个我无法捕捉的例外。。。我不明白为什么它会被扔出去

String title = "Trelp Balloon Info";
String text = "Trelp started";

try
{
     tbi.ShowCustomBalloon(MakeCustomBalloonStackPanel(title, text), System.Windows.Controls.Primitives.PopupAnimation.Slide, 5000);
}
catch (Exception e) {
     Console.WriteLine(e.ToString());
}
气球上显示了我的正确内容。但即使是“普通”showBalloadTip也会抛出同样的异常。 “正常”showBallootTip的文档表示,当超时低于0或为负时,将引发此异常。。。但它不在这里

我正在使用此库制作自定义引出序号:

希望你能给我一些建议:-)谢谢

编辑


当我把整个过程放到一个线程中,并在4999毫秒后终止该线程(气球超时为5000)时,不会抛出异常。但这不是一个真正的解决方案。

调用ShowCustomBalloon可能会立即结束,因为我们在这里讨论的是UI代码。MakeCustomBallooStackPanel返回的对象可能正在引发异常,并且可能发生在您没有引起的调用堆栈中-可能是UI代码触发了所显示对象正在响应的计时器,然后中断。好的,谢谢,听起来合乎逻辑。你认为我能做些什么?它也发生在标准的气球上,只有一个文本,没有自定义的UI元素。嗯,没有太多的上下文可供使用-makeCustomBalloadStackPanel在哪里-您的代码,或者在WPF NotifyIcon的代码中?您有权访问MCBSP的源代码及其返回的对象吗?如果是这样的话,我会在那里翻滚,看看是否能找到响应窗体/窗口/窗格关闭的代码,或者寻找关闭计时器。里面有些东西坏了。您应该能够告诉Visual Studio在出现任何异常时中断,并引发异常,然后查看堆栈跟踪以找出中断的内容以及代码所在的位置。Visual Studio向我显示String.cs,并显示异常弹出窗口,其中没有StackTrace、无代码、无代码行。异常快照:{Source:mscorlib,,StrackTrace:at System.String.InternalSubStringWithChecks(Int32 startIndex,Int32 length,Boolean fallwayscopy)}…您需要完整的堆栈跟踪。人口应该有一个链接按钮来显示它。如果没有,在运行程序之前,请转到“调试”菜单“异常”,并选中该框以捕获所有异常。这将导致调试器在任何和所有异常上中断,使您能够准确地看到中断的内容