Winforms 如何修复Windows 7/Vista下Windows窗体应用中的工具提示帮助?

Winforms 如何修复Windows 7/Vista下Windows窗体应用中的工具提示帮助?,winforms,tooltip,Winforms,Tooltip,我注意到在Windows7 Professional 64位下运行的Windows窗体应用程序错误地显示帮助工具提示 具体来说,这是在控件上使用HelpProvider和SetHelpString时发生的。使用“?”标题栏“帮助”按钮并单击具有指定帮助字符串的控件时,工具提示看起来不在Windows 3.1中(没有透明阴影),更重要的是,它显示在错误的位置。不过,位置似乎不是随机的,而是与鼠标单击位置和生成工具提示的窗口相关的。好像偏移量错得很厉害 在Windows XP Pro下运行的完全相同

我注意到在Windows7 Professional 64位下运行的Windows窗体应用程序错误地显示帮助工具提示

具体来说,这是在控件上使用HelpProvider和SetHelpString时发生的。使用“?”标题栏“帮助”按钮并单击具有指定帮助字符串的控件时,工具提示看起来不在Windows 3.1中(没有透明阴影),更重要的是,它显示在错误的位置。不过,位置似乎不是随机的,而是与鼠标单击位置和生成工具提示的窗口相关的。好像偏移量错得很厉害

在Windows XP Pro下运行的完全相同的应用程序可以很好地显示这些帮助工具提示。我没有Vista机器要检查,但据我所知,问题确实出现在Vista上,而且似乎与64位有关

不幸的是,在谷歌搜索时,几乎找不到任何东西。几周前,我记得我遇到了一个关于它的Microsoft Connect问题,当然几乎没有任何活动,但我无法再次找到它进行链接


是否有人对这个问题有任何见解,或者更好的是,有一个解决办法?

是的,它会破坏这个位置。X位置始终为零,Y位置是尖端应出现位置的X位置。嘎嘎声就像P/Invoke的错误,虽然我看不出来


在.NET 4.0中

显然,只有在运行64位.NET CLR时才会出现问题。我可以确认,当我将平台更改为x86时,即使在64位windows(通过WOW32运行)上也可以正常工作。不过,这并不是一个很好的解决办法,因为它迫使我们构建32位和64位特定版本,并处理
BadImageFormatException
等所有问题。我希望他们能在以前的.NET版本中解决这一问题。