0

我的表单包含一个数据网格和一个选中的列表框。列表框在 form_load 事件上填充。当触发数据网格的 SelectionChanged 事件时,会调用一个函数来修改列表框中的复选标记。当我手动单击数据网格中的任何项目时,一切正常。

但是,表单第一次运行时,复选标记不受影响,即使数据网格中的第一项显示为选中状态。我发现这是因为在触发第一个 SelectionChanged 事件时,实际的列表框尚未填充到表单上。因此,当该函数尝试设置复选框时,它不会到达任何地方,因为它看不到列表框中的任何项目。

不知何故,数据网格正在被填充,甚至在触发 form_load 事件之前。我需要在填充数据网格之前填充列表框,但我不知道如何控制它。

任何想法如何解决我的困境?

谢谢。

4

2 回答 2

1

这不会直接回答您的问题,但也许在您加载列表框后,您可以调用 SelectionChanged 子以产生您想要的行为。而不是试图控制顺序。

于 2011-07-29T10:00:57.437 回答
0

我通过使用计时器解决了这些问题(在表单加载期间做一些事情,但在加载所有控件之后)。它被禁用,时间为 10 毫秒。在表单加载中作为最后一个操作我启用它。在计时器滴答声中,我禁用计时器并执行其余代码。

因此,timertick 在表单加载后立即执行。

于 2011-07-29T11:12:28.760 回答