1

長いラベルをそれ自体でスクロールできるようにする必要があります。どんな種類のテキストボックスも必要ありません。内部のテキストをフォーマットできるようにしたいと思います。それは間違いなく、ウィンドウではなく、独自にスクロールする必要があります。スクロールバーを正常に追加しましたが、そのイベントの使用を開始する方法がわかりません。

ありがとう

パネルを使ってみましたか?もう一度言いますが、おそらく間違いを犯しました。::ええ、私はそれをもう一度試しました、それは単に私のラベルを切り落とします。

4

2 に答える 2

6

Panel内にラベルを配置し、AutoScroll を true に設定します。

于 2009-08-18T00:50:03.237 に答える
0

ラベル (ここでは label1) とスクロールバー (ここでは hScrollBar1) を追加し、この方法でイベントを処理します (hScrollBar1.Maximum = 100 および hScrollBar1.Minimum = 0 と仮定):

 private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
    {
        const int labellength = 10;
        String thetext = "Ozzie ozzie ozzie! OI OI OI! And then some...";
        int offset = (int)((double)e.NewValue / 100 * (thetext.Length - labellength));
        label1.Text = thetext.Substring(offset, labellength);
    }

当然、ラベルの長さを変更して、ラベルに表示するテキストの「量」を指定する必要があります。最後までスクロールできない場合は、hScrollBar1.LargeChange を 1 に下げます。

于 2009-08-18T03:18:32.100 に答える