DataGridView控件详解:C#与VB.Net操作技巧

需积分: 9 2 下载量 5 浏览量 更新于2024-07-31 收藏 684KB PDF 举报
"这篇资源主要涵盖了C#和VB.Net中DataGridView控件的各种用法,包括了对控件属性的获取和修改、编辑功能的设定、行和列的操作、自定义显示和用户交互等方面,旨在提供一个全面的参考指南。" 在.NET框架中,DataGridView是一个强大的控件,用于显示和编辑表格数据。以下是对标题和描述中提到的一些关键知识点的详细解释: 1. **当前单元格属性**:你可以通过`CurrentCell`属性获取或改变当前活动单元格,而`SelectedCells`属性则可以获取选中的所有单元格。 2. **编辑属性**:可以设置`EditMode`属性来控制用户何时能够编辑单元格,例如`EditOnEnter`、`EditOnF2`或`EditProgrammatically`。 3. **新追加行非表示**:如果不想显示新行,可以通过设置`AllowUserToAddRows`属性为`false`。 4. **判断新追加行**:通过检查`DataRowState`属性,可以确定行是否是新添加的(通常是`Added`状态)。 5. **删除行设置**:可以使用`Rows.Remove()`方法删除选定行,但应确保处理可能的异常,如无数据行可删除。 6. **行列隐藏与删除**:`Visible`属性用于控制行或列是否可见,`Columns.RemoveAt()`和`Rows.RemoveAt()`用于删除指定的列或行。 7. **行列宽度和高度**:使用`Width`和`Height`属性设置列宽和行高,若要禁用编辑,可将`ReadOnly`属性设为`true`。 8. **自动调整行高列幅**:`AutoResizeRows()`和`AutoResizeColumns()`方法能自动调整行高和列宽以适应内容。 9. **指定行列冻结**:`Frozen`属性允许你冻结列或行,使其在滚动时保持可见。 10. **列顺序变更**:`DisplayIndex`属性用于改变列的显示顺序,而`SetColumnDisplayOrder()`方法可以重新排列列的顺序。 11. **行复数选择**:`SelectionMode`属性设置为`FullRowSelect`或`MultiSimple`允许多行选择。 12. **选择的行、列、单元格**:`SelectedRows`、`SelectedColumns`和`SelectedCells`集合提供了已选元素的访问。 13. **单元格显示**:使用`DefaultCellStyle`属性可以设置单元格的默认样式,`Visible`属性控制单元格是否显示。 14. **表头部单元格**:表头单元格可通过`HeadersDefaultCellStyle`设置样式,`HeaderText`属性设定文本。 15. **表头部单元格文字列设定**:使用`ColumnName`和`HeaderCell`的`Text`属性。 16. **拷贝至剪贴板**:`Copy()`方法实现复制数据,`Paste()`方法用于粘贴。 17. **单元格Tooltip**:设置`CellFormatting`事件,可以检查单元格值并显示自定义的Tooltip。 18. **ContextMenuStrip**:为`DataGridView`添加`ContextMenuStrip`,可以实现右键菜单功能。 19. **滚动框位置**:`HorizontalScrollingOffset`和`VerticalScrollingOffset`属性用于设置滚动条位置。 20. **手动追加列**:使用`Columns.Add()`方法添加新的列。 21. **分界线样式**:通过`GridStyle`属性改变网格线样式。 22. **根据单元格属性更改显示**:在`CellFormatting`事件中,可以依据单元格的特定属性改变其显示。 23. **新追加行的行高样式**:`NewRowTemplate.DefaultCellStyle`可以设置新行的样式,包括行高。 24. **单元格默认值**:在`DefaultValuesNeeded`事件中,可以为新追加的单元格设定默认值。 25. **数据错误标签**:`ErrorText`属性用于显示数据验证错误信息。 26. **单元格输入验证**:通过`Validating`和`Validated`事件进行数据输入的验证。 27. **捕获输入错误事件**:`CellValidating`事件是进行单元格值有效性检查的好时机。 28. **行排序**:`Sort`方法和`SortCompare`事件可用于按列排序,点击列头通常会自动触发排序。 29. **自动行排序**:默认情况下,添加新值会自动排序,除非关闭`AutoSort`。 30. **排序禁用情况下的排序**:在禁用自动排序时,可以手动调用`Sort()`方法。 31. **指定列指定排序**:`Sort()`方法接受一个`DataGridViewColumn`对象和一个排序方向参数。 32. **单元格样式**:`DefaultCellStyle`属性允许为单元格定义样式,包括颜色、字体等。 33. **文字表示位置**:`ContentAlignment`属性决定单元格内文字的位置。 34. **单元格内换行**:`WordWrap`属性启用或禁用单元格内的文字换行。 35. **DBNull值显示**:可以使用`NullValue`属性设置空值的显示方式。 这些知识点提供了对DataGridView控件的深度理解和操作,帮助开发者创建功能丰富的数据界面。