0
嗨,我有問題如何在f#遊戲循環中繪製面板# 我收到所有時間異常,當我關閉應用程序。F#線程對象處置異常
let rec gameLoop (gamePanel:Panel) = async {
lock gamePanel (fun() ->
let graphics = gamePanel.CreateGraphics(); //<-exception
let rectangle = new System.Drawing.Rectangle(100, 100, 200, 200);
graphics.DrawEllipse(System.Drawing.Pens.Black, rectangle);
)
return! gameLoop (gamePanel:Panel)
}
let startGame (p:Panel) (p1:Panel) = hide p; Async.StartAsTask(gameLoop p1);()
可以考慮將CancellationToken傳遞給Async.StartAsTask並使用該令牌來停止遊戲循環;另請參閱CancellationTokenSource。 '靜態成員StartAsTask:Async <'T> *?TaskCreationOptions *?CancellationToken - >任務<'T>' –
ok thx。我將關閉遊戲循環。 – Luffy