求高手们帮忙!DATAGRID中,如何区分鼠标点击的是表头,记录还是空白处?

menganafff 2008-12-25 04:08:09
如题,怎么样知道鼠标点击的是表头,列头,记录还是空白处?C#,WINFORM

多谢!急!
...全文
192 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
love小在在 2008-12-25
  • 打赏
  • 举报
回复
楼主可能是要来个单击表头排序吧
每个事件中都有个e 对象可以用的..
heroyct 2008-12-25
  • 打赏
  • 举报
回复
CellMouseDoubleClick 记录行发生
ColumnHeaderMouseDoubleClick 表头发生
RowHeaderMouseDoubleClick 列头发生


空白?不懂。。
sprc_lcl 2008-12-25
  • 打赏
  • 举报
回复
dataGridView1_MouseDoubleClick
menganafff 2008-12-25
  • 打赏
  • 举报
回复
多谢,我希望能在DoubleClick事件中判断,该怎么办?如果是在DoubleClick中,那么楼上您说的方法就都不生效了
menganafff 2008-12-25
  • 打赏
  • 举报
回复
System.Drawing.Point pt = new Point(e.X,e.Y);
DataGrid.HitTestInfo hti = this.dataGrid1.HitTest(pt);

在dataGrid1_MouseUp事件中,我用上面的方法就可以实现判断,可是这实现的是单击,我希望的是双击,但是在dataGrid1_DoubleClick事件中,e就没有了X,Y的属性,也就无法实现判断了

这个问题该怎么解决呢?难道只有在MouseUp事件中能判断出来,在DoubleClick中就无法判断了吗?
sprc_lcl 2008-12-25
  • 打赏
  • 举报
回复
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
int ci = e.ColumnIndex;
int ri = e.RowIndex;
if (ci == -1 && ri == -1)
{
//左上角那个空的单元
}
if (ci == -1 && ri >= 0)
{
//记录行左边头的空单元
}
if (ci >= 0 && ri == -1)
{
//列头
}
if (ci >= 0 && ri >= 0)
{
//记录单元格
}
}
sprc_lcl 2008-12-25
  • 打赏
  • 举报
回复
你可设置各种情况的事件:
CellMouseClick 单击记录行发生
RowHeaderMouseClick 单击表头发生
ColumnHeaderMouseClick 单击列头发生
内容概要:本文研究了考虑隐私保护的分布式联邦学习在居民电力负荷预测的应用,提出了一种基于联邦学习框架的方法,使多个参与方能够在不共享原始数据的前提下协同训练高精度的负荷预测模型。该方法有效缓解了传统集式数据收集带来的隐私泄露风险,结合Python实现了算法原型,并通过实验验证了其在保证预测性能的同时,具备良好的隐私保护能力。研究进一步分析了模型在不同数据分布、通信轮次和客户端数量下的适应性与鲁棒性,展示了其在智能电网、能源管理系统及需侧管理的广阔应用前景。; 适合人群:具备一定机器学习基础和电力系统背景的研究生、科研人员,以及从事智慧能源、数据隐私保护相关领域开发的工程师。; 使用场景及目标:①应用于居民侧用电行为建模与精细化负荷预测,提升电网调度与能源配置效率;②在确保用户数据本地化存储的前提下,实现跨区域、跨主体的能源数据协同分析;③为构建安全、可信、合规的新一代智能电力系统提供核心技术支撑。; 阅读建议:建议读者结合文提供的Python代码进行动手实践,深入理解联邦学习的通信机制、模型聚合策略及隐私防护设计,并关注模型收敛性与隐私预算之间的权衡优化。

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧