DOBON.NET DOBON.NETプログラミング掲示板過去ログ

StatusBarのText内容を動かす方法

環境/言語:[Windows2000 VB.NET]
分類:[.NET]

お世話になります。

あるFormを表示させている間、そのFormのStatusBarのText内容を、例えば右から左へ常に移動し、左端まで行ったら右から出てくる・・・というのはどう記述すればよろしいのでしょうか?
 よろしくお願い致します。
> あるFormを表示させている間、そのFormのStatusBarのText内容を、例えば右から左へ常に移動し、左端まで行ったら右から出てくる・・・というのはどう記述すればよろしいのでしょうか?

一文字ずつのスクロールであれば、Textの文字列をタイマーで操作し、Pixel毎であれば、オーナードローが必要になるでしょう。したいことによっては(したいことがはっきり分かりませんので)、MeasureString等で取得した文字列の長さとStatusBarのPanelの幅を比較する必要もあるかもしれません。
おはようございます。
やりたいことと似ていることが、ある本に載っていたので参考にしました。

Form1の上に、Panel1とLabel1(Label1.text="あああ")とTimer1(Enabled=true,interval=20(適当))をセットします。Panelの中にLabelを入れます。

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

Timer1.Interval = 20

End Sub

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Dim LabelX As Integer = Label1.Location.X
If LabelX < Label1.Size.Width Then
LabelX = Panel1.Width
Else
LabelX -= 1
End If

Label1.Location = New Point(LabelX, Label1.Location.Y)

End Sub

以上のように書くと、右から左へ"あああ"が動きました。
"あああ"の出現場所や動く左先の位置は、PanelとLabelの位置を変えたり、長さを変えたりして色々やってみました。動く早さはTimerを変えました。

一応、解決とさせて頂きます。
ありがとうございました。
解決済み!
すいません・・・。
>
> Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
>
> Timer1.Interval = 20
>
> End Sub
>
は余計だったです。

DOBON.NET | プログラミング道 | プログラミング掲示板