C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 文字の動的描画に関して


(過去ログ 46 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■25123 / inTopicNo.1)  文字の動的描画に関して
  
□投稿者/ かえる (1回)-(2008/09/15(Mon) 21:20:05)

分類:[VB.NET/VB2005] 

はじめまして
昔、N88BASICを使用していて、最近ゲームプログラムが作りたくなってVB.NETを勉強し始めた者です。

以下に質問する為のプログラムを書きます。

Public Class Form1
Dim aaa As Integer = 1
Dim b As String = "abcdefghijklmn"

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For a = 1 To b.Length Step 1
aaa = a
Label1.Text = b.Substring(0, aaa)
System.Threading.Thread.Sleep(300)
Next
End Sub

'Private Sub Label1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Label1.Paint
' Label1.Text = b.Substring(0, aaa)
' End Sub
End Class


この文のFOR〜NEXT間の処理(途中経過)が画面に現れません。
(注釈にしてるところは試しにやってみたがうまくいかなかった部分です)

望む出力結果は

ab
abc
・・・・
と文字を表示したいですが
最終のabcdefghijklmnが一回でて終わります。

ボタンを押した時にaaaの値を足していく場合は毎回Windousの待ち画面に戻る為、途中経過が見れるのですが
何もしなくても途中経過が現れるようなゲームの処理に多く使われるような表現はVB.NETは苦手なのでしょうか?

ここに来られてる方にはすごく失礼な質問になると思いますが、
本の例題などは途中経過でなく結果だけ返すものばかりで肝心なことが分かりません。
心折れそうなのでよろしくお願いします。
引用返信 編集キー/
■25126 / inTopicNo.2)  Re[1]: 文字の動的描画に関して
□投稿者/ やじゅ (635回)-(2008/09/15(Mon) 21:50:37)
やじゅ さんの Web サイト
2008/09/15(Mon) 22:02:19 編集(投稿者)

No25123 (かえる さん) に返信

Sleep は、アプリ(正確にはスレッド)の実行を停止させます。
この停止中には、画面の描画処理さえも停止します。

ラベルを再描画(Refresh)するかDoEventsメソッドを呼べばいいかな

DoEventsメソッドを使ったWindowsメッセージ処理
http://www.atmarkit.co.jp/fdotnet/dotnettips/136doevents/doevents.html
引用返信 編集キー/
■25192 / inTopicNo.3)  Re[2]: 文字の動的描画に関して
□投稿者/ かえる (2回)-(2008/09/16(Tue) 18:57:29)
No25126 (やじゅ さん) に返信
> 2008/09/15(Mon) 22:02:19 編集(投稿者)
>
> ■No25123 (かえる さん) に返信
>
> Sleep は、アプリ(正確にはスレッド)の実行を停止させます。
> この停止中には、画面の描画処理さえも停止します。
>
> ラベルを再描画(Refresh)するかDoEventsメソッドを呼べばいいかな
>
> DoEventsメソッドを使ったWindowsメッセージ処理
> http://www.atmarkit.co.jp/fdotnet/dotnettips/136doevents/doevents.html

早急な回答ありがとうございます。
返信が送れてすみません。
これで希望がでてきました。
早速試してみたいと思います。
本当にありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -