winforms - 如何强制垂直滚动条在 WinForms 中的 AutoScroll 中始终可见?

标签 winforms scrollbars autoscroll

通过 C# 和 WinForms 使用 VS2010 和 .NET 4.0:

我总是希望垂直滚动条在我的面板中显示为禁用的滚动条(不需要时,以及可以使用时启用的滚动条。

所以它就像一个混合自动滚动。我尝试过使用 VScrollBars,但我不知道将它们放在哪里才能完成这项工作。

本质上,我有一个用户控件,充当控件的“文档”,它的大小会发生变化,因此在使用自动滚动时它可以完美地工作。当用户控件不适合并且用户可以上下移动它时,就会出现滚动条。

它本质上就像一个网络浏览器。然而,重绘控件需要很长时间(它的表单在面板内网格的组内有许多字段和按钮等:P

所以无论如何,当autoscroll启用垂直滚动条时,重绘窗口需要一段时间。我想始终显示如上所述的垂直滚动条(具有启用/禁用功能)。

如果有人有帮助,我读过很多关于自动滚动主题的帖子,但没有人问我在问什么,我也无法提出解决方案。

最佳答案

C# 版本的主管_Tech 的答案

using System.Runtime.InteropServices; 

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

    private enum ScrollBarDirection
    {
        SB_HORZ = 0,
        SB_VERT = 1,
        SB_CTL = 2,
        SB_BOTH = 3
    }

    public MyUserControl()
    {
        InitializeComponent();
        ShowScrollBar(this.Handle, (int) ScrollBarDirection.SB_VERT, true);
    }
}

关于winforms - 如何强制垂直滚动条在 WinForms 中的 AutoScroll 中始终可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8690643/

相关文章:

jquery - 在用户到达底部之前使用 jquery 自动触发 "load more"链接。如何?

c# - NFC MIFARE Classic 1K 无法读写

c# - 可以停靠到第三方应用程序中的免费停靠控件

.net - 在WinForms/.NET中更改光标热点

CSS 滚动条在桌面和移动设备上隐藏问题

javascript - 在一个脚本中自动刷新和自动上下滚动

c# - 在富文本框中的光标位置插入图像

android - 有没有办法在代码中为 RecyclerView 启用滚动条?

css - 粘性页脚中的垂直滚动条