6.2使用高效快捷菜单
每个单元,行和列可以有它自己的快捷菜单。在DataGridView控制快捷菜单ContextMenuStrip控件代表。这正好与单元样式对象作为,创造许多个人DataGridView元素的快捷菜单将产生负面影响性能。为了避免这种损失,请使用下列准则:
?避免为单个单元和行的快捷菜单。这包括行模板,这是克隆了它的快捷方式菜单时,新行被添加到控件一起。为了获得最大的可扩展性,仅使用控件的ContextMenuStrip属性来指定整个控制单一的快捷菜单。
?如果您需要多个行或多种细胞的快捷菜单,处理CellContextMenuStripNeeded或RowContextMenuStripNeeded事件。这些事件让您管理自己的快捷菜单对象,让您调整性能。
6.3使用自动调整大小高效
行,列和标题可以自动调整大小的单元内容的变化,使细胞中的全部内容都没有剪辑显示。更改调整大小模式也可以调整行,列和标题。要确定正确的大小,DataGridView控件必须检查每一个细胞,它必须适应。当处理大量数据时,这种分析可以产生负面影响控制性能的自动调整大小时发生。为了避免性能下降,请遵循下列准则:
?避免使用带有大量行集的DataGridView控制自动调整大小。如果你使用自动大小调整,只调整的基础上所显示的行。在虚拟模式下只使用所显示的行以及。
对行和列?,使用DataGridViewAutoSizeRowsMo??de,DataGridViewAutoSizeColumnsMode和DataGridViewAutoSizeColumnMode枚举的DisplayedCells或DisplayedCellsExceptHeaders领域。
?对于行头,使用该DataGridViewRowHeadersWidthSizeMode枚举AutoSizeToDisplayedHeaders或AutoSizeToFirstHeader领域。
为了获得最大的可扩展性?,关闭自动调整大小尺寸和使用方案。
6.4使用选定的单元,行和列的集合高效
SelectedCells集合不执行效率大选择。收藏的SelectedRows和SelectedColumns也可以是低效的,但在较小的程度,因为有许多比细胞中的行数少一个典型的DataGridView控件,比列行少得多。为了避免性能下降与这些藏品时,请遵循下列准则:
?要确定是否所有在DataGridView单元已被选中,然后再访问该SelectedCells集合的内容,检查AreAllCellsSelected方法的返回。请注意,但是,这种方法可能会导致行成为非共享。有关详细信息,请参阅下一节。
?避免使用的DataGridViewSelectedCellCollection Count属性来确定所选细胞的数量。相反,使用GetCellCount()方法并传入DataGridViewElementStates.Selected价。同样,使用DataGridViewRowCollection.GetRowCount()和DataGridViewColumnCollection.GetColumnCount()方法来确定所选元素,而不是访问选定的行和列集合,数量。
?避免细胞为基础的选择模式。相反,SelectionMode属性设置为FullRowSelect或FullColumnSelect。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-50070-41.html
别忘记习主席是访美才刚刚一个月呀
要会打仗才行