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初始化?
当是滚动条时FlowLayoutPanel初始化?
这可能听起来像一个聪明的答案:"当控件被绘制或放置在窗体",这就是为什么当你调整窗体的大小时,它们是同步的。(正在重新绘制)
解决方法是自己手动添加滚动条