【发布时间】:2015-06-12 18:41:02
【问题描述】:
我正在开发一个程序,该程序在多个选项卡控件上包含多个 DataGridView。我的 DataGridViews 在运行时对它们进行了很多初始格式化。例如,第 0 行和第 1 行是我的第一组“标题”,它们是具有颜色和字体格式的只读单元格。第 2 行和第 3 行用于数据输入,根据输入的值进行颜色编码。然后,这种行组织对第 4、5、6 和 7 行重复,然后,依此类推。
我不想为所有其他 DataGridView 重复所有设置和格式化代码。有没有办法创建一个 DataGridViews 数组,以便我可以循环设置和格式化代码?
DataGridView[] subFrames = new DataGridView[16];
上面可以编译,但是如何使用它呢?我无法在我的表单 subFrame[0] 上命名 DataGridView 控件。我是否必须在代码中创建控件并定义放置等才能做到这一点?还是有别的办法?
【问题讨论】:
-
您的
DataGridViews 本身是静态的(而且数量众多),还是以某种方式动态生成? -
程序初始化期间在运行时动态生成。我必须这样做来控制每一行的属性,因为有些行是只读的,而其他行不是。它们不受任何约束,仅包含用户输入。
-
在那种情况下,是什么产生了它们?大概该代码可以简单地将它们放在类级数组中,就像您在问题中显示的那样?是什么阻止了生成
DataGridView的代码将该实例添加到数组中? -
如果我理解正确,您是说将表单上的控件添加到我创建的数组中? subFrame[0] =
-
它应该可以工作,当然。除非代码中的其他地方有其他我们不知道的细节,自然而然。
DataGridView实例是与 C# 中的任何其他对象一样的对象。您可以创建一个数组并将它们设置为该数组的元素以便快速访问它们。
标签: c# winforms datagridview