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

質問編集履歴

5

修正

2017/03/02 01:30

投稿

azurail0
azurail0

スコア10

title CHANGED
File without changes
body CHANGED
@@ -40,6 +40,7 @@
40
40
  sw.Stop()
41
41
  counter += 1
42
42
  textFile = New IO.StreamWriter(csvname, True, System.Text.Encoding.Default)
43
+ 'ストップウォッチのミリカウントとカウンターを出力
43
44
  textFile.WriteLine(sw.ElapsedMilliseconds.ToString & "," & counter.ToString)
44
45
  textFile.Close() ' -- StreamWriter を閉じて
45
46
  textFile.Dispose() ' -- StreamWriter を解放

4

修正

2017/03/02 01:30

投稿

azurail0
azurail0

スコア10

title CHANGED
File without changes
body CHANGED
@@ -71,7 +71,7 @@
71
71
  プログレスバーが1からすすんでいって100になると、ボタンが押せるようになるプログラムで、スレッドを作成した場合、
72
72
  アプリケーションの見た目上は95くらいで、内部的には100になっていて、ボタンが押せるようになっていました。
73
73
 
74
-
74
+ ```VB.NET
75
75
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
76
76
  System.Threading.Thread.CurrentThread.Priority = Threading.ThreadPriority.Highest
77
77
  Button1.Enabled = False
@@ -95,4 +95,5 @@
95
95
  ProgressBar1.BeginInvoke(
96
96
  New UpdateProgressBarDelegate(AddressOf UpdateProgressBar), i)
97
97
  Next
98
- End Sub
98
+ End Sub
99
+ ```

3

修正

2017/03/02 01:27

投稿

azurail0
azurail0

スコア10

title CHANGED
File without changes
body CHANGED
@@ -35,14 +35,16 @@
35
35
  'フォームに出力
36
36
  Label1.Text = sw.ElapsedMilliseconds.ToString
37
37
  End If
38
+ '1秒経過すると、csvに出力して、ストップウォッチをリスタート
38
39
  If sw.ElapsedMilliseconds > 1000 Then
39
- sw.Stop()
40
+ sw.Stop()
40
- counter += 1
41
+ counter += 1
41
- textFile = New IO.StreamWriter(csvname, True, System.Text.Encoding.Default)
42
+ textFile = New IO.StreamWriter(csvname, True, System.Text.Encoding.Default)
42
- textFile.WriteLine(sw.ElapsedMilliseconds.ToString & "," & counter.ToString)
43
+ textFile.WriteLine(sw.ElapsedMilliseconds.ToString & "," & counter.ToString)
43
- textFile.Close() ' -- StreamWriter を閉じて
44
+ textFile.Close() ' -- StreamWriter を閉じて
44
- textFile.Dispose() ' -- StreamWriter を解放
45
+ textFile.Dispose() ' -- StreamWriter を解放
45
- sw.Restart()
46
+ sw.Restart()
47
+ End If
46
48
  My.Application.DoEvents()
47
49
  End While
48
50
 

2

修正

2017/03/02 01:25

投稿

azurail0
azurail0

スコア10

title CHANGED
File without changes
body CHANGED
@@ -35,6 +35,14 @@
35
35
  'フォームに出力
36
36
  Label1.Text = sw.ElapsedMilliseconds.ToString
37
37
  End If
38
+ If sw.ElapsedMilliseconds > 1000 Then
39
+ sw.Stop()
40
+ counter += 1
41
+ textFile = New IO.StreamWriter(csvname, True, System.Text.Encoding.Default)
42
+ textFile.WriteLine(sw.ElapsedMilliseconds.ToString & "," & counter.ToString)
43
+ textFile.Close() ' -- StreamWriter を閉じて
44
+ textFile.Dispose() ' -- StreamWriter を解放
45
+ sw.Restart()
38
46
  My.Application.DoEvents()
39
47
  End While
40
48
 

1

修正

2017/03/02 01:23

投稿

azurail0
azurail0

スコア10

title CHANGED
File without changes
body CHANGED
@@ -15,20 +15,24 @@
15
15
  プロパティ等をいじることによって、これを防ぐことはできないのでしょうか?
16
16
 
17
17
  ###該当のソースコード
18
+ ```VB.NET
19
+
18
20
  Dim sw As New Stopwatch()
21
+ 'ストップウォッチスタート
19
22
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
20
23
  sw.Start()
21
24
 
22
25
 
23
26
  End Sub
27
+
24
-
28
+ 'ストップウォッチのミリ秒の表示
25
29
  Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
26
30
 
27
31
  System.Threading.Thread.CurrentThread.Priority = Threading.ThreadPriority.Highest
28
32
  While True
29
33
 
30
34
  If sw.ElapsedMilliseconds > 200 Then
31
-
35
+ 'フォームに出力
32
36
  Label1.Text = sw.ElapsedMilliseconds.ToString
33
37
  End If
34
38
  My.Application.DoEvents()
@@ -36,11 +40,13 @@
36
40
 
37
41
  End Sub
38
42
 
43
+ 'ストップウォッチのリスタート
39
44
  Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
40
45
 
41
46
  sw.Stop()
42
47
  sw.Restart()
43
48
  End Sub
49
+ ```
44
50
  ###試したこと
45
51
  このようなストップウォッチの経過時間を表示するプログラムの場合、タイトルバーをクリックしている間は、ストップウォッチは進んでいるようですが、
46
52
  Label1.Textは更新されず、アプリケーション画面の更新がされません。