我正在編寫一個在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