2011-04-06 65 views
1

这里的情况:C#Winforms - 什么时候控件的滚动条被初始化?

我想从devexpress控件VerticalScroll控制flowLayoutControl的滚动条。

现在 - flowLayoutControl与自动滚屏=真。我添加了一个新的verticalscroll控件并将其停靠在Right上。所以现在,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; 
    } 

一切正常已经在flowLayoutControl滚动条, spotWinFlowLayout1.VerticalScroll.XXX性质尚未设定。所以这两个滚动条都不同步。但是,只要我调整窗体大小都获得同步。

那么什么时候FlowLayoutPanel的滚动条被初始化?

回答

1

那么当FlowLayoutPanel的滚动条被初始化了吗?

这听起来像一个smartalec回答:“当控制绘制或放置形式上”,这是什么原因,当你调整它们在同步形式的大小(他们正在制定再次)

解决的办法是手动自己添加滚动条。

+0

最初设置控件的visible = false,然后在formLoad为true解决问题。谢谢你的提示。 – 2011-04-06 14:32:41

+0

@Aseem - 我很乐意帮助,实际上我被分配到几年前在课堂上做类似的事情。它涉及在有足够的内容滚动时解锁滚动条。 – 2011-04-06 15:24:22