C#隐藏面板滚动条

C#隐藏面板滚动条,c#,C#,我正在尝试创建一个两个按钮来滚动我的面板(上下) 我的滚动向下按钮 private void button_Category_Down_Click(object sender, EventArgs e) { int CurrentVal = flowLayoutPanel_Categories.VerticalScroll.Value; if (value > CurrentVal) {

我正在尝试创建一个两个按钮来滚动我的面板(上下)

我的滚动向下按钮

  private void button_Category_Down_Click(object sender, EventArgs e)
    {

            int CurrentVal = flowLayoutPanel_Categories.VerticalScroll.Value;


            if (value > CurrentVal)
            {
                value = CurrentVal - 75;
              return;
            }

            value += 70;

            flowLayoutPanel_Categories.AutoScrollPosition = new Point(0, value);


    }
和向上滚动按钮

  private void button_Category_Up_Click(object sender, EventArgs e)
    {


            if (value <= 0)
            {
                value = 0;
                return;
            }

            value -= 75;

            flowLayoutPanel_Categories.AutoScrollPosition = new Point(0, value);

    }
但它可能不起作用

如果我将autoscroll设置为false,按钮将无法工作


很抱歉我的英语不好,谢谢你更新了windows窗体的答案:

好的,所以我更新了我的anser来回应你的评论,你说这是一个Windows窗体项目,而不是我根据你的模型图像假设的UWP项目

我现在能想到的唯一快速的方法(实际上更像是一种解决方法)是将面板嵌入一个比内容面板小的容器中,这样滚动条区域就位于显示区域之外(参见下图),或者简单地将另一个对象放在面板上,使其覆盖滚动条区域

请记住,在程序支持的所有Windows版本中检查您的设计。某些Windows主题(即Windows 10)可能会为滚动条保留更少或更多的空间,从而导致滚动条部分可见或容器内容被剪裁。还可以查看内容不需要滚动时发生的情况。在这种情况下,在某些Windows版本上,将scroll设置为auto可能会完全隐藏滚动条,因此如果内容填满面板,可能会被剪切

UWP解决方案:

在UWP windows 10应用程序中,您可以在“设计器窗口>编辑模板>编辑副本”中的对象上单击鼠标右键,然后编辑选定组件子组件上的外观

然后您只需编辑滚动查看器组件,该组件应该是面板的一部分,并将Vetical scrollbar设置为false


找不到您正在使用的组件。这是什么类型的项目?@brett visual studio-C#-Windows formThank You!,我做了容器部分(我用了一个面板),它的工作很好,很高兴听到这个消息。请记住,在程序支持的所有Windows版本中检查您的设计。某些Windows主题(即Windows 10)可能会为滚动条保留更少或更多的空间,从而导致滚动条部分可见或容器内容被剪裁。还可以查看内容不需要滚动时发生的情况。在这种情况下,在某些Windows版本上,将scroll设置为auto可能会完全隐藏滚动条,因此如果内容填满面板,可能会被剪切。
      private const int SB_BOTH = 3;
    private const int WM_NCCALCSIZE = 0x83;

    [DllImport("user32.dll")]
    private static extern int ShowScrollBar(IntPtr hWnd, int wBar, int bShow);

    protected override void WndProc(ref Message m)
    {

        ShowScrollBar(flowLayoutPanel_Categories.Handle, SB_BOTH, 0 /*Hide the ScrollBars*/);


        base.WndProc(ref m);
    }