C# Net中的拖放表单问题

C# Net中的拖放表单问题,c#,.net,winforms,performance,graphics,C#,.net,Winforms,Performance,Graphics,我用C Sharp编写了一个Windows应用程序。 我在我的表单(MainForm)的背景中使用了一张图片,在这个表单中我使用了许多按钮中的图片,并且我还使用了一些带有透明背景色的面板和标签。 我的表单、面板和按钮都在闪烁。我用一种方法解决了这个问题 但是当其他表单开始于此表单时,当我在该表单上拖动和移动表单时,我的表单会挂起。如何解决此问题以轻松快速地移动和拖动表单 编辑:: 我的表单从Access 2007数据库文件加载数据。我使用数据集、DataGridView和其他组件来加载和显示表单

我用C Sharp编写了一个Windows应用程序。
我在我的表单(MainForm)的背景中使用了一张图片,在这个表单中我使用了许多按钮中的图片,并且我还使用了一些带有透明背景色的面板和标签。 我的表单、面板和按钮都在闪烁。我用一种方法解决了这个问题

但是当其他表单开始于此表单时,当我在该表单上拖动和移动表单时,我的表单会挂起。如何解决此问题以轻松快速地移动和拖动表单

编辑::


我的表单从Access 2007数据库文件加载数据。我使用数据集、DataGridView和其他组件来加载和显示表单中的数据。

您只是通过使用我的答案中所示的技术,使表单的绘制速度变得不那么明显。这些把戏并没有加速,只是让丑陋变得不那么明显。但是当你必须从头开始画你的形状时,它们会塌下来,当你在上面移动另一个窗口时就会发生这种情况。绘制无法跟上每次重叠形状移动一个或多个像素时生成的大量绘制请求


一个即时解决方案是将您的操作系统升级到Vista或Windows 7,Windows不再与启用Aero的系统重叠。

您使用的是另一个问题中的哪种方法?@MusiGenesis:--->Hans Passanta我理解,闪烁不是问题;但这张表是挂起来的,对吗?听起来你的表单中有什么东西正在吞噬表单,可能在
OnPaint
on
OnSize
中,只是在思考!你能分享一些代码吗?@KMan:没问题,我能……但是请看我问题的编辑部分……谢谢。但是我想在Windows Xp中运行这个程序。这个问题没有解决方案。你想运行什么真的很重要吗?你的客户跑什么应该算数。他们肯定没有使用9年前的操作系统?