質問編集履歴

5

削除された内容の復元を行いました

2018/10/05 01:58

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- ``````````````````````````````ここに言語入力 ここ言語を入力
1
+ キャンセルボタンいつでも押せるようしたい
test CHANGED
@@ -1,41 +1,91 @@
1
- ``````````````````````````````こに言語を入力
1
+ ### 前提・実現したい
2
2
 
3
+ VisualStudio2017でC#を利用したプログラムを作成しています。
4
+
5
+ フォームに開始ボタンと停止ボタンを作成して停止ボタンを押せばいつでもプログラムを停止出来るようにしたいのですが、躓いています。
6
+
7
+ 流れ
8
+
9
+ button1_Clickをクリック
10
+
11
+
12
+
13
+ First_run();を開始
14
+
15
+
16
+
17
+ First_run();内のcom();(ループ文)を開始
18
+
19
+
20
+
21
+ com();のループが終わり次第、com2();を開始
22
+
23
+ 上記のどこでも押せて処理を停止できるようにしたいです。
24
+
25
+ 下記の内容ですとcom();のループ途中では停止ボタンは押せない状況です。
26
+
27
+ 現状では、Application.Exit();でフォームごと消してしまっていますが、消さずにすべての処理を止めたい場合はどう記述すればよいでしょうか。
28
+
29
+ ※com();をasnycで非同期処理にしてみましたが、変わらずボタンは押せませんでした。
30
+
31
+ ※First_run()をasnycで非同期処理にしてみるとcom();だけではなく次のcom2();も動いてしまってしまいうまくいきませんでした。
32
+
33
+ ### ソースコード
34
+
35
+ ```C#
36
+
37
+ //開始ボタン
38
+
39
+ public void button1_Click(object sender, EventArgs e)
40
+
41
+ {
42
+
43
+ First_run();
44
+
45
+       //上から順番に処理を行いたい
46
+
47
+ }
48
+
49
+ public void First_run()
50
+
51
+ {
52
+
53
+ com();
54
+
55
+         //com();のループが終わってからcom2();を実行する
56
+
3
- ここに言語を入力
57
+ com2();
58
+
59
+
60
+
61
+ }
62
+
63
+ public void com()
64
+
65
+ {
66
+
67
+ //ループ処理(trueになればループ終了)
68
+
69
+ **//ここにasnycやawaitを入れる?入れても停止ボタン押せませんでした**
70
+
71
+ }
72
+
73
+ public void com2()
74
+
75
+ {
76
+
77
+ //処理
78
+
79
+ }
80
+
81
+ public void button2_Click(object sender, EventArgs e)
82
+
83
+ {
84
+
85
+ //アプリケーションを終了させる
86
+
87
+ Application.Exit();
88
+
89
+ }
4
90
 
5
91
  ```
6
-
7
- ここに言語を入力
8
-
9
- ```
10
-
11
- ここに言語を入力
12
-
13
- ```
14
-
15
- ここに言語を入力
16
-
17
- ```
18
-
19
- ここに言語を入力
20
-
21
- ```
22
-
23
- ここに言語を入力
24
-
25
- ```
26
-
27
- ここに言語を入力
28
-
29
- ```
30
-
31
- ここに言語を入力
32
-
33
- ```
34
-
35
- ここに言語を入力
36
-
37
- ```
38
-
39
- コード
40
-
41
- ```

4

ああ

2018/10/05 01:57

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- キャンセルボタンいつでも押せるようしたい
1
+ ``````````````````````````````ここに言語入力 ここ言語を入力
test CHANGED
@@ -1,99 +1,41 @@
1
- ### 前提・実現したい
1
+ ``````````````````````````````こに言語を入力
2
2
 
3
- VisualStudio2017でC#を利用したプログラムを作成しています。
4
-
5
- フォームに開始ボタンと停止ボタンを作成して停止ボタンを押せばいつでもプログラムを停止出来るようにしたいのですが、躓いています。
6
-
7
-
8
-
9
- 流れ
10
-
11
- button1_Clickをクリック
12
-
13
-
14
-
15
- First_run();を開始
16
-
17
-
18
-
19
- First_run();内のcom();(ループ文)を開始
20
-
21
-
22
-
23
- com();のループが終わり次第、com2();を開始
24
-
25
-
26
-
27
- 上記のどこでも押せて処理を停止できるようにしたいです。
28
-
29
- 下記の内容ですとcom();のループ途中では停止ボタンは押せない状況です。
30
-
31
- 現状では、Application.Exit();でフォームごと消してしまっていますが、消さずにすべての処理を止めたい場合はどう記述すればよいでしょうか。
32
-
33
-
34
-
35
- ※com();をasnycで非同期処理にしてみましたが、変わらずボタンは押せませんでした。
36
-
37
- ※First_run()をasnycで非同期処理にしてみるとcom();だけではなく次のcom2();も動いてしまってしまいうまくいきませんでした。
38
-
39
-
40
-
41
- ### ソースコード
42
-
43
- ```C#
44
-
45
- //開始ボタン
46
-
47
- public void button1_Click(object sender, EventArgs e)
48
-
49
- {
50
-
51
- First_run();
52
-
53
-       //上から順番に処理を行いたい
54
-
55
- }
56
-
57
- public void First_run()
58
-
59
- {
60
-
61
- com();
62
-
63
-         //com();のループが終わってからcom2();を実行する
64
-
65
- com2();
3
+ ここに言語を入力
66
-
67
-
68
-
69
- }
70
-
71
- public void com()
72
-
73
- {
74
-
75
- //ループ処理(trueになればループ終了)
76
-
77
- **//ここにasnycやawaitを入れる?入れても停止ボタン押せませんでした**
78
-
79
- }
80
-
81
- public void com2()
82
-
83
- {
84
-
85
- //処理
86
-
87
- }
88
-
89
- public void button2_Click(object sender, EventArgs e)
90
-
91
- {
92
-
93
- //アプリケーションを終了させる
94
-
95
- Application.Exit();
96
-
97
- }
98
4
 
99
5
  ```
6
+
7
+ ここに言語を入力
8
+
9
+ ```
10
+
11
+ ここに言語を入力
12
+
13
+ ```
14
+
15
+ ここに言語を入力
16
+
17
+ ```
18
+
19
+ ここに言語を入力
20
+
21
+ ```
22
+
23
+ ここに言語を入力
24
+
25
+ ```
26
+
27
+ ここに言語を入力
28
+
29
+ ```
30
+
31
+ ここに言語を入力
32
+
33
+ ```
34
+
35
+ ここに言語を入力
36
+
37
+ ```
38
+
39
+ コード
40
+
41
+ ```

3

質問の追加

2018/10/04 04:25

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -31,6 +31,10 @@
31
31
  現状では、Application.Exit();でフォームごと消してしまっていますが、消さずにすべての処理を止めたい場合はどう記述すればよいでしょうか。
32
32
 
33
33
 
34
+
35
+ ※com();をasnycで非同期処理にしてみましたが、変わらずボタンは押せませんでした。
36
+
37
+ ※First_run()をasnycで非同期処理にしてみるとcom();だけではなく次のcom2();も動いてしまってしまいうまくいきませんでした。
34
38
 
35
39
 
36
40
 

2

文章変更

2018/09/19 06:08

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -70,6 +70,8 @@
70
70
 
71
71
  //ループ処理(trueになればループ終了)
72
72
 
73
+ **//ここにasnycやawaitを入れる?入れても停止ボタン押せませんでした**
74
+
73
75
  }
74
76
 
75
77
  public void com2()

1

質問の編集

2018/09/19 06:04

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  VisualStudio2017でC#を利用したプログラムを作成しています。
4
4
 
5
- フォームに開始ボタンと停止ボタンを作成して停止ボタンを押せばいつでもプログラムを停止することが出来るようにしたいのですが、作成出来ていません
5
+ フォームに開始ボタンと停止ボタンを作成して停止ボタンを押せばいつでもプログラムを停止出来るようにしたいのですが、躓いていま
6
6
 
7
7
 
8
8