質問するログイン新規登録

回答編集履歴

1

分かりにくかったので修正

2015/12/22 04:17

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -1,15 +1,13 @@
1
1
  こんにちは。
2
2
 
3
3
  Tak1waさんとのやり取りから、恐らく下記ではないかと思います。
4
+ > Application.Restart()はメイン・スレッドで実行する必要があるが、class1はサブスレッドにてコンストラクトされており、Application.Restart()がサブスレッドから呼び出されている。
4
5
 
5
- オブジェクト同期メソッド→Application.Restart();
6
- コードの非同期ブロック→バックグラウンドスレッド
7
-
8
6
  これを前提に回答してみます。
9
7
 
10
8
  サブスレッドからメインスレッドへ処理を依頼する必要があります。
11
- このようなケースでは、[.NETマルチスレッドプログラミング 2:非同期デリゲートとスレッドプール](http://codezine.jp/article/detail/139)の手順を使えばできる筈です。
9
+ このようなケースでは、[スレッドからフォム、コンールを扱う](http://codezine.jp/article/detail/139#form)の手順を使えばできる筈です。
12
- 下記イメージで良いと思うのですが、ビルドしてないし、C#は久しぶりなのでミスがあるかもしれません。
10
+ 下記イメージで良いと思うのですが、ビルドしてないし、C#は久しぶりなのでミスがあったらごめなさい
13
11
 
14
12
  ```C#
15
13
  class Class1