gpt4 book ai didi

c# - Scrollable Control中的Scroll/Scroll有什么用?

转载 作者:太空狗 更新时间:2023-10-29 18:24:24 26 4
gpt4 key购买 nike

ScrollableControl 类有 2 个 protected bool 属性:HScroll 和 VScroll。

作为document说:

Gets or sets a value indicating whether the horizontal scroll bar is visible.

AutoScroll maintains the visibility of the scrollbars automatically. Therefore, setting the HScroll or VScroll properties to true have no effect when AutoScroll is enabled.

所以我这样使用它们,但是没有显示滚动条:

class MyScrollableControl : ScrollableControl {
public MyScrollableControl() {
this.AutoScroll = false;
this.HScroll = true;
}
}

如果我使用以下代码,它会起作用:

this.HorizontalScroll.Visible = true;

当我把它们放在一起时,滚动条仍然不可见,并且 HScroll 和 Horizo​​ntalScroll.Visible 的值保持为 False。

this.AutoScroll = false;
this.HScroll = true;
this.HorizontalScroll.Visible = true;

那么HScroll和VScroll的真正用途是什么?


更新

我的代码和测试

enter image description here

最佳答案

HScroll 属性不直接影响滚动可见性,但它防止滚动被隐藏 Horizo​​ntalScroll.Visible

enter image description here

如果 Horizo​​ntalScroll.Visible 设置为 trueHScroll 也会得到一个值 true (见表中的第二行)

如果 AutoScroll 设置为 true Horizo​​ntalScroll.Visible 始终保持 trueHScroll 没有任何影响(见最后两行)

制作一个带有 Control 的应用程序,其中包含 3 个按钮和下一个处理程序代码,然后使用它看看到底发生了什么:

private void button1_Click(object sender, EventArgs e)
{
AutoScroll = !AutoScroll;
SetValues();
}

private void button3_Click(object sender, EventArgs e)
{
HScroll = !HScroll;
SetValues();
}

private void SetValues()
{
button1.Text = $"Auto: {(AutoScroll ? "On" : "Off")}";
button3.Text = $"HScroll: {(HScroll ? "On" : "Off")}";
button2.Text = $"Visible: {(HorizontalScroll.Visible ? "On" : "Off")}";
}

private void button2_Click(object sender, EventArgs e)
{
HorizontalScroll.Visible = !HorizontalScroll.Visible;
SetValues();
}

用法 (AutoScroll = false)

要手动显示滚动,请将 Horizo​​ntalScroll.Visible 设置为 true

要手动隐藏滚动,请将 HScroll 设置为 false 并将 Horizo​​ntalScroll.Visible 设置为 false

用法 (AutoScroll = true)

Horizo​​ntalScroll.Visible 始终为 true 且无法更改

HScroll 不影响任何东西

enter image description here

关于c# - Scrollable Control中的Scroll/Scroll有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46230824/

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