gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 13:51:23 25 4
gpt4 key购买 nike

通过 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com