プロが教えるわが家の防犯対策術!

vb.netの初心者です。bo281さんのLabelの文字をスクロールする質問大変参考になりました!!ラベルの代わりにテキストボックスで文字を表示し、その文字を右から左へスクロールするプログラムを作成しています。
右から左へのスクロールはできるのですが、どうもスクロールが1回だけで終わってしまい、左端までいったら右端に戻ってもう一度左へスクロールするといった繰り返しが起こりません。どうすればいいのか教えてください。コードを提示しつつお願いします。
問題のコード
Private Sub Button1_Click(ByVal sender As System.Object, e As System.EventArgs) Handles Button1.Click
TextBox5.Text = "次は東京です。"
Timer1.Interval = 5 'タイマーの時間を設定する
Timer1.Start() 'タイマーを開始する
Private Sub Timer1_Tick(ByVal sender As Object, e As EventArgs) Handles Timer1.Tick
Dim objG As Graphics '描画した文字列を格納する
objG = TextBox5.CreateGraphics()
'ここで一旦クリアしないと真っ黒になります
objG.Clear(TextBox5.BackColor)
'右端を決めて、文字を描画する
objG.DrawString(TextBox5.Text, TextBox5.Font, New SolidBrush(TextBox5.ForeColor), scloltext, 0)
'右端をずらす
scloltext -= 1
If scloltext > TextBox5.Width Then
'左端までいったら戻す
scloltext = 0 'scloltextに0を代入する
End If
objG.Dispose() 'objGを開放する
End Sub

A 回答 (1件)

>左端までいったら右端に戻ってもう一度左へスクロールするといった繰り返しが起こりません。



いやいや、繰り返しているじゃないですか。


https://oshiete.goo.ne.jp/qa/10104861.html
で、
>書き出し位置のx座標を1サイクル毎にマイナスしているのにtext boxのwidthを上回るワケがありません。
と指摘を受け、
https://detail.chiebukuro.yahoo.co.jp/qa/questio …

>scloltext を1ずつ減らしているので、TextBox5.Width より大きくなることは永遠にないです。
と指摘を受けているのに…

>scloltext -= 1
>If scloltext > TextBox5.Width Then

ちゃんと「同じ間違いを繰り返して」ますよ?
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています