0

一緒にスクロールしたいパネルの幅よりも長いカスタム水平スクロールバーを作成したいと思います。接続方法は?

ScrollBar hScrollBar = new HScrollBar();
        hScrollBar.Dock = DockStyle.Fill;
        ScrollBar.Scroll += new ScrollEventHandler(hScrollBar_Scroll);
        splitContainer2.Panel2.Controls.Add(hScrollBar);

    void hScrollBar_Scroll(object sender, ScrollEventArgs e)
    {
        ?
    }
4

1 に答える 1

1

こういう意味ですか?

1

2

パネルにコントロールを配置し、フォームのサイズを設定して、このコードを配置するだけです

panel1.AutoScroll=true;

InitializeComponentの後「実際のカスタム」スクロールバーが必要な場合は、次のようにします。

hScrollBar.Maximum=700;
hScrollBar.Value=0;
hScrollBar.Scroll+=delegate (object sender, ScrollEventArgs e)
{
    int diference=e.OldValue-e.NewValue;
    foreach (Control c in panel1.Controls) c.Location=new Point (c.Location.X+diference, c.Location.Y);
};

しかし、最大値、私の場合は約700を見つける必要があります。

于 2012-09-16T18:16:48.513 に答える