アプリ版:「スタンプのみでお礼する」機能のリリースについて

部活でVBの課題を提出しなければいけないのですが、わからないところがあるので教えてください。
作品はn+1を選択したラジオボタンの数だけループさせて、その時間を計測する簡単なベンチマークソフトです。
1.MsgBoxの”処理時間を計測します”が出てから、 ラベルKanryoのTextを"処理中"にしたい
2.28行目 Kekka.Text = Jikan & "(秒)"のところの小数点が多すぎるので3位以下を切り捨てにしたい
3.このイベントプロシージャとは別にCPUの名前・周波数を取得したい

コードは省略してますが次の様になっています。
1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
2
3 Dim Hajime As Double
4 Dim Owari As Double
5 Dim Jikan As Double
6 Dim n As Integer
7
8 Kekka.Text = ""
9 Kanryo.Text = ""
10
11 If RadioButton1.Checked = True Then’ループの回数をラジオボタンから選択する
12
13 MsgBox("処理時間を計測します")
14 Kanryo.Text = "処理中"
15 Hajime = Microsoft.VisualBasic.DateAndTime.Timer
16
17
18 For n = 1 To 50000
19 Kekka.Text = n
20 n = n + 1
21 Next n
22
23
24 Owari = Microsoft.VisualBasic.DateAndTime.Timer
25 Jikan = Owari - Hajime
26 Kanryo.Text = "完了"
27
28 Kekka.Text = Jikan & "(秒)"
29
30
31(省略)
32
33    End If
34 Button1.Enabled = True
35 End Sub

8日までに提出なのでぎりぎりです。
皆様の力を貸してください!お願いします!

A 回答 (1件)

Windowsではメッセージポンプといった仕組みで描画を行うようになっています


これは、各プロシージャなどで設定されたコントロールのTextプロパティなどの描画を行う仕組みになります
プロシージャ内では一般的にはこのメッセージポンプは働いていません
VB.NETなら Application.DoEvents()
VB6.0以前なら DoEvents
を実行することによりこのポンプが働きます
または、コントロール側のRefreshメソッドを実行することでも再描画してくれる場合もあります

小数点以下の桁数の制限をしたいのであれば Format関数やVB.NETならオブジェクトのToStringメソッドの引数の与え方などを調べてみましょう
単に小数点以下3桁にしたいのなら
dim ss as String = Jikan.ToString
dim n as Integer = ss.IndexOf(".")
ss = ss.SubString( 0, n + 3 )
といった手法もあります
    • good
    • 0
この回答へのお礼

無事提出することができました。
回答ありがとうございます。

お礼日時:2008/08/12 17:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!