Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
TreeNode変更でTaskキャンセル
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30498#CommentId84000
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
mayopee
 (社会人)
投稿日時
2020/5/28 21:33:37
るきお様、実験して戴き、ありがとうございます。
結果は提示してもらったコードで100回位、実行してみましたが、僕のより安定はしていますが、
「1」と「2」の列挙が並列実行される場面が2回程、発生しました。
ポイントは、「_cts.Cancelでキャンセルしても、メッセージキューに溜まっている前回の列挙情報が
処理される時間を待つ」ということだと思っているのですが........
るきお様も、Task.Delay(20).Wait()を入れておられますね。
僕の最初のコードでも SendKeys.SendWait("{ESC}")の後に、Await Task.Delay(1000) と入れていた
のですが、希望動作とならず断念しました。
あとはForループの中で、キャンセルされているか監視のため、Task.Delayを入れられていますね。
ここらが、ポイントだとすると、PC性能に依存し、環境により結果が異なるという話になりそうです。
待機時間を変更して、もう少し、追試してみます。