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

テキストボックス内の文字列をスクロール

分類:[.NET]

.Net初心者です。

テキストボックス(ラベル)内の文字列をスクロールさせたいと思っています。
色々プロパティを触って試しているのですがなかなかうまくいきません。
できないんでしょうか?
■No7987に返信(初心者さんの記事)
> .Net初心者です。

> テキストボックス(ラベル)内の文字列をスクロールさせたいと思っています。
> 色々プロパティを触って試しているのですがなかなかうまくいきません。
> できないんでしょうか?

ところで、スクロールさせたい方向は? Horizontal? Vertical?
詳しく明記しておかないと、

 「ScrollBarプロパティは触ったのですか?」

というフォローアップが付くのが関の山かと。



# この掲示板では「初心者」という名前は禁止されております。
# 書き込む前に、書き込みマナーくらいは、目を通すべきかと。
# http://dobon.net/vb/bbs/index.html#manners
スクロールバーを出したいのではなく、
テキストボックス(ラベルでもなんでもいい)内の文字列を右から左にスクロール
させたいと思っているのですが。。。

HTMLのタグで言うとMARQUEEタグと同じ動きにしたいのですが。。。

分かりますでしょうか?よろしくお願いします。
> スクロールバーを出したいのではなく、
> テキストボックス(ラベルでもなんでもいい)内の文字列を右から左にスクロール
> させたいと思っているのですが。。。
>
> HTMLのタグで言うとMARQUEEタグと同じ動きにしたいのですが。。。

一行入力でかつ、一文字ずつのスクロールでしたら、テキストボックス内の
文字列を直接操作して、たとえば、TimerなどのTickを用いて
右の一文字を左に移動してTextに改めて代入してやればいいでしょう。

また、複数行入力になると上記の方法は少々大変なので、Panelなどの土台の
上にLabelなどを貼り付けて、今度はLabelを直接動かしてやればいいと思います。

後者の例としては次のようなイメージです。

private void timer1_Tick(object sender, System.EventArgs e)
{
   if(label1.Left >= panel1.Width)
      label1.Left = -label1.Width;
   else
      ++label1.Left;
}

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