【发布时间】:2012-07-25 15:47:32
【问题描述】:
我在 foreach 语句的帮助下在我的 WinForms 表单中搜索了一些 controls。
我正在比较通过“is”引用 (a is DataGridView) 找到的对象。 “a”是控件集合中的对象。
到目前为止效果很好,因为我表单上的比较对象都彼此完全不同。
在我创建的一个新表单中,我使用了一个名为my_datagridview 的DataGridView 的派生版本。因此,当通过“is”引用将my_datagridview 与DataGridView 进行比较时,不会引发异常,这是“错误”的,因为我想分别处理这两个。
有没有办法正确比较my_datagridview 和DataGridView?
【问题讨论】:
-
既然你已经知道哪个网格应该以什么方式循环,为什么还需要循环访问控件?只是好奇。
-
@danish:因为它为我节省了很多代码。所有
DataGridViews都包含在多个GroupBoxes(至少2 层)中,而我正好有8 个(DataGridViews)。这种方式更简洁。 -
我仍然无法理解需要找到控件。如果用户在屏幕上的操作 X 应该导致网格 Z 中的操作 Y,为什么不捕获操作 X 并在网格上执行操作?
-
@danish:因为我不是在处理特定
DataGridView中的事件,而是由其他元素触发的事件,作为回报需要更新DataGridViews(但不是全部它们,只是特定的)。
标签: c# .net winforms comparison