我正在创建类似会计的软件并执行总帐。现在我的计划是有一个名为Entry的UserControl,它显示并具有名为:Date,Details,Amount的Properties。我有两个FlowLayoutControls,一个用于借记,一个用于信用。
我想要实现的目标:
当我将借方面向下滑动时,我希望信用卡自动向下滑动到具有相同或附近日期的条目。或者在同一个月,当Ledger平衡时。
我的想法:
确定最高的可见 UserControl,获取其Date值。然后在另一边,浏览每个UserControl及其Date值,并将其滚动到最符合上述描述的值。
有人可以帮我解决FlowLayoutPanels的编码和属性,以实现这一目标吗?
谢谢。
答案 0 :(得分:1)
实施FLP的Scroll事件。迭代它的控件,找出哪一个位于顶部:
private void flowLayoutPanel1_Scroll(object sender, ScrollEventArgs e) {
var top = new Point(1, 1); // tweak if necessary
foreach (Control ctl in flowLayoutPanel1.Controls) {
if (ctl.Bounds.Contains(top)) {
// Found the control, do your stuff
//...
break;
}
}
}
将 ctl 转换为您的用户控件类型并检索所需的属性。然后迭代另一个FLP以找到匹配的控件,设置FLP的AutoScrollPosition将其滚动到视图中。