質問編集履歴
3
一部修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -94,8 +94,6 @@
|
|
94
94
|
|
95
95
|
Public Class frmMain
|
96
96
|
|
97
|
-
private lst As List(Of bean) = Nothing
|
98
|
-
|
99
97
|
Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click
|
100
98
|
|
101
99
|
BackgroundWorker1.WorkerSupportsCancellation = True
|
@@ -114,6 +112,8 @@
|
|
114
112
|
|
115
113
|
Handles BackgroundWorker1.DoWork
|
116
114
|
|
115
|
+
Dim lst As List(Of bean)
|
116
|
+
|
117
117
|
While True
|
118
118
|
|
119
119
|
If BackgroundWorker1.CancellationPending Then
|
@@ -122,13 +122,11 @@
|
|
122
122
|
|
123
123
|
End If
|
124
124
|
|
125
|
-
lst = New List(Of bean)
|
126
|
-
|
127
125
|
Dim CLSMain As clsMain = New clsMain
|
128
126
|
|
129
|
-
lst = CLS
|
127
|
+
lst = CLSMain.prepare()
|
130
128
|
|
131
|
-
CLS
|
129
|
+
CLSMain.check(lst)
|
132
130
|
|
133
131
|
BackgroundWorker1.ReportProgress(0, lst)
|
134
132
|
|
@@ -162,7 +160,7 @@
|
|
162
160
|
|
163
161
|
If e.Cancelled = True Then
|
164
162
|
|
165
|
-
BackgroundWorker1.CancelAsync()
|
163
|
+
'BackgroundWorker1.CancelAsync()
|
166
164
|
|
167
165
|
Else
|
168
166
|
|
2
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -134,11 +134,7 @@
|
|
134
134
|
|
135
135
|
Threading.Thread.Sleep(60000)
|
136
136
|
|
137
|
-
End While
|
137
|
+
End While
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
138
|
|
143
139
|
e.Result = lst
|
144
140
|
|
@@ -154,17 +150,35 @@
|
|
154
150
|
|
155
151
|
Dim lst As List(Of bean) = DirectCast(e.UserState, List(Of bean))
|
156
152
|
|
153
|
+
End Sub
|
154
|
+
|
155
|
+
Private Sub BackgroundWorker1_RunWorkerCompleted(
|
156
|
+
|
157
|
+
ByVal sender As System.Object,
|
158
|
+
|
159
|
+
ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) _
|
160
|
+
|
161
|
+
Handles BackgroundWorker1.RunWorkerCompleted
|
162
|
+
|
163
|
+
If e.Cancelled = True Then
|
164
|
+
|
165
|
+
BackgroundWorker1.CancelAsync()
|
166
|
+
|
167
|
+
Else
|
168
|
+
|
169
|
+
Dim lst As List(Of bean) = DirectCast(e.Result, List(Of bean))
|
170
|
+
|
157
171
|
For Each r As bean In lst
|
158
172
|
|
159
|
-
Dim rResult As Control() = Controls.Find("txtBox" & r.No, True)
|
173
|
+
Dim rResult As Control() = Controls.Find("txtBox" & r.No, True)
|
160
174
|
|
161
175
|
CType(rResult(0), TextBox).Text = r.Result
|
162
176
|
|
163
177
|
Next
|
164
178
|
|
179
|
+
End If
|
180
|
+
|
165
181
|
End Sub
|
166
|
-
|
167
|
-
|
168
182
|
|
169
183
|
Private Sub btnStop_Click(sender As Object, e As EventArgs) Handles btnStop.Click
|
170
184
|
|
1
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -98,6 +98,8 @@
|
|
98
98
|
|
99
99
|
Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click
|
100
100
|
|
101
|
+
BackgroundWorker1.WorkerSupportsCancellation = True
|
102
|
+
|
101
103
|
BackgroundWorker1.WorkerReportsProgress = True
|
102
104
|
|
103
105
|
BackgroundWorker1.RunWorkerAsync()
|
@@ -134,6 +136,12 @@
|
|
134
136
|
|
135
137
|
End While
|
136
138
|
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
e.Result = lst
|
144
|
+
|
137
145
|
End Sub
|
138
146
|
|
139
147
|
Private Sub BackgroundWorker1_ProgressChanged(
|
@@ -143,6 +151,8 @@
|
|
143
151
|
ByVal e As ProgressChangedEventArgs) _
|
144
152
|
|
145
153
|
Handles BackgroundWorker1.ProgressChanged
|
154
|
+
|
155
|
+
Dim lst As List(Of bean) = DirectCast(e.UserState, List(Of bean))
|
146
156
|
|
147
157
|
For Each r As bean In lst
|
148
158
|
|
@@ -154,6 +164,16 @@
|
|
154
164
|
|
155
165
|
End Sub
|
156
166
|
|
167
|
+
|
168
|
+
|
169
|
+
Private Sub btnStop_Click(sender As Object, e As EventArgs) Handles btnStop.Click
|
170
|
+
|
171
|
+
'ストップボタンでBackgroundWorkerを停止させたい
|
172
|
+
|
173
|
+
BackgroundWorker1.CancelAsync()
|
174
|
+
|
175
|
+
End Sub
|
176
|
+
|
157
177
|
End Class
|
158
178
|
|
159
179
|
```
|