c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

本文详细介绍了C# WinForm中DataGridView控件的各种操作,包括单元格内容的获取与设置、只读属性设定、行与列的操作、自定义单元格样式、用户输入控制以及右键菜单的配置。内容涵盖单元格的读写、行头列头的修改、单元格边框样式、数据验证、列宽行高调整、冻结行列、默认值设定、剪贴板操作等关键功能。

一、单元格内容的操作*****

// 取得当前单元格内容Console.WriteLine(DataGridView1.CurrentCell.Value); 

// 取得当前单元格的列 Index Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex); 

// 取得当前单元格的行 Index Console.WriteLine(DataGridView1.CurrentCell.RowIndex);

*******另外,使用 DataGridView.CurrentCellAddress 属性(而不是直接访问单元格)来确定单元格所在的行:DataGridView.CurrentCellAddress.Y 和列: DataGridView.CurrentCellAddress.X 。这对于避免取消共享行的共享非常有用。 当前的单元格可以通过设定 DataGridView 对象的 CurrentCell 来改变。可以通过 CurrentCell 来设定 DataGridView 的激活单元格。将 CurrentCell 设为 Nothing(null) 可以取消激活的单元格。

// 设定 (0, 0) 为当前单元格 DataGridView1.CurrentCell = DataGridView1[0, 0]; 在整行选中模式开启时,你也可以通过 CurrentCell 来设定选定行。

 /// /// 向下遍历 

/// /// /// private void button4_Click(object sender, EventArgs e) ...{ int row = this.dataGridView1.CurrentRow.Index + 1; if (row > this.dataGridView1.RowCount - 1) row = 0; this.dataGridView1.CurrentCell = this.dataGridView1[0, row]; }

 /// /// 向上遍历 /// /// /// private void button5_Click(object sender, EventArgs e) ...{ int row = this.dataGridView1.CurrentRow.Index - 1; if (row < 0) row = this.dataGridView1.RowCount - 1; this.dataGridView1.CurrentCell = this.dataGridView1[0, row]; } 

* 注意: this.dataGridView 的索引器的参数是: columnIndex, rowIndex 或是 columnName, rowIndex 这与习惯不同。

********DataGridView 设定单元格只读:1) 使用 ReadOnly 属性 ? 如果希望,DataGridView 内所有单元格都不可编辑, 那么只要: // 设置 DataGridView1 为只读 DataGridView1.ReadOnly = true;此时,用户的新增行操作和删除行操作也被屏蔽了。

******如果希望,DataGridView 内某个单元格不可编辑, 那么只要:// 设置 DataGridView1 的第2列整列单元格为只读 DataGridView1.Columns[1].ReadOnly = true; // 设置 DataGridView1 的第3行整行单元格为只读 DataGridView1.Rows[2].ReadOnly = true; // 设置 DataGridView1 的[0,0]单元格为只读 DataGridView1[0, 0].ReadOnly = true;

*******DataGridView 行头列头的单元格// 改变DataGridView1的第一列列头内容 DataGridView1.Columns[0].HeaderCell.Value = "第一列"; 

// 改变DataGridView1的第一行行头内容 DataGridView1.Rows[0].HeaderCell.Value = "第一行"; // 改变DataGridView1的左上头部单元内容 DataGridView1.TopLeftHeaderCell.Value = "左上"; 另外你也可以通过 HeaderText 来改变他们的内容。

// 改变DataGridView1的第一列列头内容 DataGridView1.Columns[0].HeaderText = "第一列";

*********** DataGridView 单元格的ToolTip的设置DataGridView.ShowCellToolTips = True 的情况下, 单元格的 ToolTip 可以表示出来。对于单元格窄小,无法完全显示的单元格, ToolTip 可以显示必要的信息。 

1) 设定单元格的ToolTip内容 

// 设定单元格的ToolTip内容 DataGridView1[0, 0].ToolTipText = "该单元格的内容不能修改"; 

// 设定列头的单元格的ToolTip内容 DataGridView1.Columns[0].ToolTipText = "该列只能输入数字"; 

// 设定行头的单元格的ToolTip内容 DataGridView1.Rows[0].HeaderCell.ToolTipText = "该行单元格内容不能修改"; 

2) CellToolTipTextNeeded 事件 在批量的单元格的 ToolTip 设定的时候,一个一个指定那么设定的效率比较低, 这时候可以利用 CellToolTipTextNeeded 事件。当单元格的 ToolTipText 变化的时候也会引发该事件。但是,当DataGridView的DataSource被指定且VirualMode=True的时候,该事件不会被引发。 

// CellToolTipTextNeeded事件处理方法

 private void DataGridView1_CellToolTipTextNeeded(object sender, DataGridViewCellToolTipTextNeededEventArgs e) { e.ToolTipText = e.ColumnIndex.ToString() + ", " + e.RowIndex.ToString(); }

*******DataGridView 的单元格的边框、 网格线样式的设定

1) DataGridView 的边框线样式的设定 DataGridView 的边框线的样式是通过 DataGridView.BorderStyle 属性来设定的。 BorderStyle 属性设定值是一个 BorderStyle 枚举: FixedSingle(单线,默认)、Fixed3D、None。 

2) 单元格的边框线样式的设定 单元格的边框线的样式是通过 DataGridView.CellBorderStyle 属性来设定的。 CellBorderStyle 属性设定值是 DataGridViewCellBorderStyle 枚举。(详细参见 MSDN) 另外,通过 DataGridView.ColumnHeadersBorderStyle 和 RowHeadersBorderStyle 属性可以修改 DataGridView 的头部的单元格边框线样式。 属性设定值是 DataGridViewHeaderBorderStyle 枚举。(详细参见 MSDN)

 3) 单元格的边框颜色的设定 单元格的边框线的颜色可以通过 Dat

【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
内容概要:本文系统介绍了基于去噪概率扩散模型(DDPM)的光伏功率场景生成方法,利用Python代码实现对光伏发电不确定性进行高保真建模与多场景生成。该模型通过模拟光伏出力的间序列特性,充分捕捉其随机性与间歇性特征,生成具有高度统计一致性和空相关性的多维场景集,有效支撑含高比例可再生能源的电力系统在规划、调度、风险评估等环节的决策需求。文档不仅详述了DDPM的核心架构与训练流程,还整合了大量相关科研资源,涵盖机器学习、深度学习、信号处理、路径规划、电力系统优化等多个关键技术方向,并提供了丰富的Matlab/Simulink仿真案例与开源代码链接,服务于科研复现与工程应用,突出“借力科研”的理念,强调逻辑思维与技术创新的深度融合。; 适合人群:具备一定编程基础(熟悉Python/Matlab),从事新能源发电、电力系统分析、人工智能应用等相关领域的研究生、科研人员及初级工程技术人员(建议工作年限1-3年)。; 使用场景及目标:①用于光伏功率不确定性建模,支撑微电网优化调度、储能系统配置、鲁棒/分布鲁棒优化等研究;②作为深度生成模型在能源领域落地的典型案例,掌握DDPM等沿生成式AI模型的设计思想与实际编程实现技巧;③结合文中提供的丰富复现资源,快速构建研究原型,加速科研项目推进与学术论文撰写进程。; 阅读建议:建议读者按照目录结构系统性地浏览内容,优先聚焦与自身研究方向密切相关的模块,结合网盘提供的完整代码与仿真模型进行动手实践,注重理论推导、代码调试与结果分析的有机结合,以深入理解模型内在机制并提升实际应用能力。
本资源提供截至2026年7月全球80000余个机场空间分布数据,系统整合全球民航机场、地区性通用机场及水上飞机起降点等航空基础设施信息,包含可编辑MXD工程文件、标准Shapefile矢量文件以及标准成图TIF文件。数据经过统一整理与标准化处理,空间定位准确、属性结构规范,可直接应用于GIS空间分析、航空运输研究、交通地理分析及科研教学等多种应用场景。 从数据背景来看,机场是全球航空运输网络的重要节点,也是区域经济联系、人员流动和物流运输的重要基础设施。全球机场广泛分布于亚洲、欧洲、北美洲、南美洲、非洲及大洋洲,不同类型机场共同构建了覆盖全球的航空运输体系。其中,民航机场承担定期客货运输任务,地区性通用机场主要服务于通用航空、应急救援、农林作业及飞行培训等需求,而水上飞机起降点则广泛分布于岛屿、湖泊及沿海地区,在偏远地区交通运输中具有重要作用。 在数据内容方面,本资源收录全球80000余个机场及航空设施,以点状矢量形式表达其空间位置。Shapefile文件包含机场名称、机场类型、所属国家(地区)、所在城市及地理坐标等基础属性信息,可用于航空基础设施统计分析、空间分布研究及专题制图。同时配套提供MXD工程文件,已完成基础图层组织与符号配置,用户可在ArcGIS平台中直接进行编辑与成果输出。 在应用层面,该数据可广泛用于全球航空运输网络分析、机场可达性评价、交通基础设施布局研究、区域经济联系分析及应急保障规划等领域。结合人口、GDP、铁路、公路、港口或航线数据,还可开展综合交通网络分析、航空枢纽识别、物流运输优化及区域发展评价。此外,该数据同样适用于GIS教学、交通地理及航空运输相关课程实践。 资源同时提供标准成图TIF文件,可直接用于科研论文插图、项目报告及教学展示。整体数据结构规范、兼容性强,可在ArcGIS、QGIS等主流GIS软件平台中直接使用。
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
内容概要:本文围绕“日-日内”联合市场的虚拟电厂(VPP)竞价与优化策略展开研究,重点通过Matlab代码实现相关模型的仿真与优化。研究内容涵盖虚拟电厂在电力市场中的运行机制,特别是如何在日市场和日内市场中进行竞价决策与资源优化调度,以最大化经济效益并保障系统稳定性。文中结合了智能优化算法、电力系统调度理论与市场竞价策略,构建了完整的VPP优化框架,并提供了详细的代码实现路径,帮助读者复现研究成果。此外,文档还列举了大量相关科研方向和技术应用,如微电网优化、储能配置、需求响应等,展示了广泛的电力系统仿真服务能力。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的科研人员、研究生及从事能源系统优化工作的技术人员;尤其适合正在进行虚拟电厂、电力市场优化、可再生能源集成等相关课题研究的人员。; 使用场景及目标:① 学习并掌握虚拟电厂在“日-日内”双市场环境下的竞价策略建模方法;② 利用Matlab实现VPP优化调度算法,提升科研仿真能力;③ 借助提供的代码与案例,完成论文复现、课题开发或实际项目建模;④ 拓展至微电网、储能、电动汽车等多能协同系统的优化研究。; 阅读建议:建议读者结合文中提到的网盘资源下载完整代码与模型,按照文档结构逐步学习,重点关注优化模型的数学构建与Matlab实现细节。同时可参考文末列出的其他研究方向,拓展研究视野,提升科研创新能力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值