C#使用滚动条控件/事件(没有文本框或窗口滚动)

时间:2009-08-18 00:37:36

标签: c# winforms visual-studio-2008 scrollbar label

我需要允许一个长标签自己滚动。我想要任何类型的文本框。我希望能够在里面格式化文本。它肯定需要自己滚动,而不是窗口。我已经成功添加了一个滚动条,但我不知道如何开始使用它的事件。

感谢

我尝试使用面板?我会再说一次,也许我犯了一个错误。 ::是的我再试一次,它只是切断了我的标签。

2 个答案:

答案 0 :(得分:6)

将标签放在Panel内,并将AutoScroll设置为true。

答案 1 :(得分: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);
    }

当然,您必须通过更改labellength来指定要在标签中显示的文本的“数量”。如果您发现无法滚动到最后,请将hScrollBar1.LargeChange降低为1.