gpt4 book ai didi

C# 窗体 : Scrollbars without AutoScroll

转载 作者:行者123 更新时间:2023-11-30 16:52:35 25 4
gpt4 key购买 nike

我有一个包含内容的 TabPage。我的一些用户的屏幕很小,有些东西放不下。当我在 TabPage 上将 AutoScroll 设置为 true 时,它​​会按预期添加滚动条。然而……

这个TabPage中有一个ListBox。 ListBox 的位置使得单击它以选择 ListItem 会导致 TabPage 将整个 ListBox 滚动到 View 中,这反过来会导致单击选择错误的 ListItem。

如果我禁用 AutoScroll,ListBox 可以正常工作,但用户无法滚动 TabPage。

我曾尝试添加面板和 TableLayoutPanels,并弄乱了其中有 AutoScroll 和没有的各种组合。

我尝试了一个 DLLImport hack,将一个无样式的滚动条强制放到面板上,但那个滚动条没有做任何事情,它看起来不像应用程序中的其他滚动条。

编辑:请注意,有些用户的屏幕较大。在那些屏幕上,有足够的空间显示整个 TabPage 而无需滚动,并且它可以正常工作。

如何在没有自动滚动行为的情况下获得滚动条

最佳答案

尝试像这样创建一个新的面板控件:

public class PanelEx : Panel {
protected override Point ScrollToControl(Control activeControl) {
return this.DisplayRectangle.Location;
}
}

将此面板放入 TabPage 并将 Dock 属性设置为 Fill。将所有控件放在该面板而不是 TabPage 中。

关于C# 窗体 : Scrollbars without AutoScroll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32406243/

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