c# Winforms -控件的滚动条何时初始化?

本文关键字:何时 初始化 滚动条 Winforms 控件 | 更新日期: 2023-09-27 17:49:29

情况如下:

我试图控制flowLayoutControl的滚动条从devexpress控件垂直滚动。

现在- flowLayoutControl与autoscroll = true。我添加了一个新的垂直滚动控件并将其停靠在右侧。所以现在Devexpress垂直滚动控件就在FlowLayout滚动条的顶部。

当下面的代码运行时,FlowLayoutPanel垂直滚动不会隐藏:

    spotWinFlowLayout1.VerticalScroll.Visible = false
我已经设置了以下事件处理程序:
    private void spotWinFlowLayout1_Resize(object sender, EventArgs e)
    {
        SetupVerticalScrollBar();
    }        
    private void SetupVerticalScrollBar()
    {
        vScrollBar1.Minimum = spotWinFlowLayout1.VerticalScroll.Minimum;
        vScrollBar1.Maximum = spotWinFlowLayout1.VerticalScroll.Maximum;
        vScrollBar1.LargeChange = spotWinFlowLayout1.VerticalScroll.LargeChange;
        vScrollBar1.SmallChange = spotWinFlowLayout1.VerticalScroll.SmallChange;            
    }
    private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
    {
        spotWinFlowLayout1.VerticalScroll.Value = e.NewValue;
    }

一切都工作得很好,除了在form Load上已经有一个滚动条在flowLayoutControl, spotWinFlowLayout1.VerticalScroll。XXX属性尚未设置。所以两个滚动条都不同步。但一旦我调整大小的形式都得到同步。

当滚动条为FlowLayoutPanel初始化?

c# Winforms -控件的滚动条何时初始化?

当是滚动条时FlowLayoutPanel初始化?

这可能听起来像一个聪明的答案:"当控件被绘制或放置在窗体",这就是为什么当你调整窗体的大小时,它们是同步的。(正在重新绘制)

解决方法是自己手动添加滚动条