回答編集履歴

1

追記

2021/06/23 04:41

投稿

fana
fana

スコア11663

test CHANGED
@@ -1,3 +1,13 @@
1
1
  `ViewBase.MoveView` が呼ばれる際に,GUIスレッドが停止しているのではないでしょうか.
2
2
 
3
3
  (例えば,それを呼ぶ側の終了を待っているとか)
4
+
5
+
6
+
7
+ * Invokeの場合:GUIスレッドに処理させたいけどGUIスレッドは停止しているからそこで止まっちゃう(デッドロック)
8
+
9
+ * BeginInvokeの場合:BeginInvokeはGUIスレッドにやってほしい処理を予約するだけなので,そこではGUIスレッドが停止してても大丈夫.
10
+
11
+ で,その後で(何かがあって)GUIスレッドが動き出してのちに,その予約処理が実施される.
12
+
13
+ だから止まらない.