【问题标题】:Application not receiving event when clicked on taskbar单击任务栏时应用程序未收到事件
【发布时间】:2010-11-21 14:02:47
【问题描述】:

我有一个在 Windows XP 上运行的 .NET 应用程序(C#、WinForms)应用程序。如果我最小化我的应用程序,并将其他几个窗口最小化到任务栏,然后单击我的应用程序(在任务栏中),那么我经常看到任务栏“图标”闪烁,但我的应用程序无法“恢复”其窗口。对可能导致这种情况的任何建议?有关如何检查我的应用程序是否没有通过鼠标单击获得事件的任何提示。

更新:谁能举例说明如何将任何传入事件输出到应用程序。让我可以的东西,例如使用 Console.Writeline() 打印接收到的事件,看看我的应用程序在我点击任务栏时是否收到事件?

【问题讨论】:

  • Windows 充满了与此类似的错误。更常见的是,当单击任务栏上的按钮时,操作系统无法最小化窗口,或者没有将任务栏按钮的浮雕与当前焦点窗口同步。

标签: c# .net winforms windows-xp


【解决方案1】:

http://www.catch22.net/software/winspy-17

我大胆猜测你的应用会成为焦点。

【讨论】:

  • 我一定会试用 Windows-Spy 工具。您所说的“我的应用程序将成为焦点”到底是什么意思?我的应用程序“集中”但没有以某种方式最大化?
  • 我认为您的窗口获得焦点,但它的坐标阻止它在您的显示器上显示。
  • 尝试按 Alt-Space、M,然后按键盘箭头键,然后移动鼠标。窗口现在应该位于其中一个屏幕上。
  • 链接现在好像失效了,重定向到一些奇怪的(诈骗?)网站。
【解决方案2】:

AFAIK 这应该与您的应用程序没有任何关系。是否有任何其他运行的应用程序始终保持在最前面?

【讨论】:

  • 这也是我的假设。是的,还有其他应用程序正在运行(比如浏览器和记事本),但所有其他应用程序都可以完美响应任务栏中的点击。
  • 好吧,在这种情况下,这完全是由于 Windows 在做什么/不做什么。 AFAIK 你可以做很多事情。
【解决方案3】:

您不处理应用程序中任务栏的最大化和最小化。也就是说你不必。 Windows 处理此问题,因此这似乎与您的应用程序不处理事件无关,而是 Windows 做某事(或不做某事)。

【讨论】:

  • 对,现在 Windows 失败了。当我单击任务栏时,我可以“嗅探”应用程序/.NET 框架是否收到事件?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-31
  • 1970-01-01
  • 1970-01-01
  • 2015-05-13
  • 2012-11-08
  • 1970-01-01
相关资源
最近更新 更多