Only horizontal scrolling in a panel

那年仲夏 提交于 2019-12-11 02:55:41

问题


How do I set my panel so it will only scroll horizontal? I have tried:

this.VerticalScroll.Enabled = false;

But it doesn't work.


回答1:


Try this instead for 'only' scrolling horizontal.
(auto scroll needs to be false b4 it will accept changes)

mypanel.AutoScroll = false;
mypanel.VerticalScroll.Enabled = false;
mypanel.VerticalScroll.Visible = false;
mypanel.VerticalScroll.Maximum = 0;
mypanel.AutoScroll = true;



回答2:


you can try

panel.AutoScroll = true;
panel.HorizontalScroll.Enabled=false;
panel.HorizontalScroll.Visible = false;



回答3:


It works using this code in my panel:

    protected override void WndProc(ref System.Windows.Forms.Message m)
    {
        ShowScrollBar(this.Handle, 1, false);
        base.WndProc(ref m);
    }

    [DllImport("user32.dll")]
    [return: MarshalAs(UnmanagedType.Bool)]
    private static extern bool ShowScrollBar(IntPtr hWnd, int wBar, bool bShow);



回答4:


If your panel does not perform AutoScroll, you can use its VScroll property:

yourPanel.VScroll = false;


来源:https://stackoverflow.com/questions/9428587/only-horizontal-scrolling-in-a-panel

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!