【发布时间】:2014-08-19 15:05:22
【问题描述】:
我正在开发一个用作仪表板的应用程序。该表单包括一个包含多个 datagridviews 的 flowlayoutpanel。 flowlayoutpanel 设置为自动滚动,因为通常有比可见页面容纳的更多数据网格。每个DataGrid都有一个uppletClick事件,它在选择特定列(3)时打开图表表单。所有图表功能都可以正常工作。我遇到的问题是,当我单击仅部分可见的数据网格时,页面滚动以将该数据网格视图完全带到页面上。因为这发生在单击 (MouseDown) 上,所以页面滚动得如此之快,以至于它实际上并没有触发单击事件,而是选择了列中的多个单元格,就好像用户单击/向下拖动列一样。
我希望发生的是,当用户单击仅部分可见的 datagridview 时,图表会打开,然后页面会在图表关闭事件上滚动。如果有问题的数据网格视图有焦点,但部分不在页面上,这实际上会发生。例如,如果我选择 datagridview,然后向下/向上滚动直到它部分离开可见页面,然后单击第 3 列中的一个单元格。它将显示图表,然后在我关闭图表时自动滚动。但是如果 datagridview 没有焦点,它会自动滚动。我曾尝试将 flowlayoutpanel 放在另一个面板中,这在某种程度上有效,但不一致。
抱歉,描述太长了,但我会尽可能详细。任何帮助将不胜感激。该应用程序使用 VS 2013 在 .NET 中构建。
【问题讨论】:
标签: vb.net winforms datagridview autoscroll flowlayoutpanel