我正在编写一个在 PDA 上显示地图的 .NET Compact Framework 应用程序。
我已经创建了一个临时组件,它可以绘制它自己的整个地图,使用其中的几个组件来组成大图。我这样做是为了避免一步绘制整个地图的延迟。
我现在想做的是在他们自己的线程中绘制这些片段,因此地图看起来会作为一个实体增长,并且(同样,更重要的是)避免冻结用户界面的其余部分。
正确知道地图的每一块都是在其 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>
}
你知道怎么做吗?还是我的方法完全错误?
谢谢你的时间!