当使用Infragistics组件和调整大小例程时,Winforms应用程序在不同的计算机上显示不同
我正在使用Winforms开发GUI。在大多数测试计算机上,一切看起来都很好(如中所示,UI的显示方式与开发GUI的pc相同)。但是,在一台笔记本电脑上,有几个元素显示不正确(大小错误,或重绘时出现问题) 我正在进行测试,以找出我们可能出错的地方;所有计算机都以不同的屏幕分辨率运行Windows 7 我正在使用Infragistics组件构建UI。有什么想法吗 编辑:一些例子。在“损坏”的笔记本电脑上,某些选项卡(UltraWinTab的一部分)无效,并且在执行最小化/还原命令后不会重新绘制,您只能获得选项卡的背景,但没有组件当使用Infragistics组件和调整大小例程时,Winforms应用程序在不同的计算机上显示不同,winforms,compatibility,infragistics,Winforms,Compatibility,Infragistics,我正在使用Winforms开发GUI。在大多数测试计算机上,一切看起来都很好(如中所示,UI的显示方式与开发GUI的pc相同)。但是,在一台笔记本电脑上,有几个元素显示不正确(大小错误,或重绘时出现问题) 我正在进行测试,以找出我们可能出错的地方;所有计算机都以不同的屏幕分辨率运行Windows 7 我正在使用Infragistics组件构建UI。有什么想法吗 编辑:一些例子。在“损坏”的笔记本电脑上,某些选项卡(UltraWinTab的一部分)无效,并且在执行最小化/还原命令后不会重新绘制,您
其他一些控件莫名其妙地以小得多的尺寸绘制(不是填充区域,而是底部和右侧的大空条带)。我们在这方面也遇到了问题。带有Infragistics控件的Windows.Forms应用程序在Windows XP上看起来不错,但在W7上,各种各样的大小调整问题开始出现。我花了很长时间才弄清楚发生了什么事 当然,首先我认为这与基础设施有关,但我只是在任何论坛上都找不到任何线索。最后,我无意中发现了一个问题,其中有人解释说,除了控件的特定嵌套层次结构之外,调整大小的事件不再触发 我们有一个UI框架,对我们来说,它足以使
System.Windows.Forms.SplitContainer
具有以下覆盖:
// HACK: under Windows7, controls do not always redraw to their whole rectangle after restoring their size.
protected override void OnSizeChanged(EventArgs e)
{
if (Handle != null) // Can be null because the event is invoked before the handle is created.
BeginInvoke((MethodInvoker)(() => base.OnSizeChanged(e)));
}
因为我们在SplitContainers上有基础设施控件(网格、dock manager)。也许Infragistics控件有一个很深的嵌套层,使其比其他控件更快发生。您是否有处于“自然”和“损坏”状态的组件的图像?恐怕我最好避免发布应用程序的屏幕截图-我将尽可能匿名,如果没有解决办法,这是几天内的最后手段。在此期间,我用几个具体的例子编辑了我的信息Shi Gert,非常感谢你的回答。我觉得这可能与调整尺寸有关;我会尽快测试你的解决方案。