我正在编写一个在PDA上显示地图的.NET Compact Framework应用程序。如何更新不同线程中的组件? .NET CF
我已经创建了一个ad hoc组件,它使用构成大图的几个这些组件来绘制它自己的整个地图。我这样做是为了避免在一个步骤中绘制整个地图的延迟。
我想要知道的是在自己的线程中绘制这些片断,因此地图看起来像一个单一的实体一样成长,并且(更重要的是)避免冻结其余的用户界面。
知道地图的每一部分都在其onPaint方法中绘制。我的想法是,以某种方式告诉系统“请在线程中执行此代码”。
喜欢的东西:
protected override void OnPaint(PaintEventArgs e)
{
// <code to be executed in a thread>
e.Graphics.paintTHis();
e.Graphics.paintThat();
whateverItTakesToPaintThisPieceOfTheMap();
// </code to be executed in a thread>
}
你知道如何做到这一点?或者我的方法是错误的?
谢谢你的时间!
调用将调用放置在原始线程上 - 这违背了目的。 – ima 2008-09-23 14:14:26