【发布时间】:2010-11-27 18:07:07
【问题描述】:
C#、.net 3.5 WinForm 应用程序
我确实有一个模式弹出(另一种)形式的 DataGrid。我确实将对象添加到数据网格中,并希望在表单显示时选择它们。听起来很简单,因为有一个方法“SelectAll”。
但是,这种方法似乎只在数据网格已经可见时才有效。我的命令是:1)添加对象 2)调用全选 3)显示模态表单。但是当它显示时,对象会显示但没有被选中。
DialogResult r = myDialogForm.ShowModalDialog(); // objects are added, and SelectAll was called
有人知道我如何完成 SelectAll - 即使 DataGrid 尚不可见。
--关于HPT的评论(改变顺序)
当我调用模态表单 (System.Windows.Forms.ShowDialog) 时,我没有机会 [1] 在显示模态表单之后 (!) 调用 SelectAll - 这正是问题所在。
下一次到达“我的代码”是 DialogResult 被传回的时候。 Visibility 由底层方法(.NET 框架 Forms.ShowDialog)隐式设置为 true。
[1] 一种可能的解决方法是在表单变得可见时生成一个事件,然后再发送到SelectAll。如果我没有找到更好的东西,我会试试这个。
【问题讨论】: