You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinForm C#饼图鼠标悬停显示数量问题求助

WinForm C# 饼图鼠标悬停显示数据数量的解决方案

针对你在WinForm中使用C#开发饼图时,鼠标悬停无法显示对应数据数量的问题,以下是具体的解决方法:

问题原因

你尝试使用的labeltooltip并非WinForm Chart控件的正确属性(存在拼写错误且属性用途不符),需要通过设置Series的ToolTip属性或确保控件的提示功能开启来实现。

解决方案

方法1:直接绑定数据字段生成提示

在现有代码的基础上,添加以下两行代码即可快速实现悬停提示:

// 开启Chart的提示功能(默认可能已开启,显式设置更稳妥)
chart3.ShowToolTips = true;
// 设置每个饼块的悬停提示内容,#VALX对应Type字段,#VALY对应Count字段
chart3.Series["Count"].ToolTip = "类型: #VALX\n数量: #VALY";

修改后的完整代码

DataTable dt = new DataTable();
conexion.Open();
SqlDataAdapter da = new SqlDataAdapter(@"Select
count([referral_id]) as 'Count',
[referral_type] as 'Type'

from AlteryxDB.dbo.t_prd_pbixpipeline_crt2023

where [ref_status]='Pending' and 
([recipient_eid] ='22216' and [referral_eid]='22216')

group by
[referral_type]", conexion);
da.Fill(dt);
chart3.DataSource = dt;
conexion.Close();

chart3.Series["Count"].XValueMember = "Type";
chart3.Series["Count"].YValueMembers = "Count";

// 添加以下两行实现悬停提示
chart3.ShowToolTips = true;
chart3.Series["Count"].ToolTip = "类型: #VALX\n数量: #VALY";

方法2:自定义鼠标悬停事件(进阶)

如果需要更灵活的提示内容控制,可以通过Chart的MouseMove事件实现:

  1. 给chart3添加MouseMove事件处理方法(在设计器中双击MouseMove事件即可生成)
  2. 在事件方法中添加以下代码:
private void chart3_MouseMove(object sender, MouseEventArgs e)
{
    // 获取鼠标所在位置的饼图数据点
    HitTestResult result = chart3.HitTest(e.X, e.Y);
    if (result.PointIndex != -1)
    {
        // 获取对应的数据点
        DataPoint point = chart3.Series["Count"].Points[result.PointIndex];
        // 设置提示内容
        toolTip1.SetToolTip(chart3, $"类型: {point.AxisLabel}\n数量: {point.YValues[0]}");
    }
    else
    {
        // 鼠标不在饼块上时清空提示
        toolTip1.Hide(chart3);
    }
}

注意:使用此方法需要先在窗体上添加一个ToolTip控件(命名为toolTip1)。

关键说明

  • #VALX和#VALY是Chart控件的内置关键字,分别代表当前数据点的X轴值和Y轴值,会自动绑定你设置的XValueMember和YValueMembers字段。
  • 确保chart3.ShowToolTips属性为true,否则即使设置了ToolTip也不会显示。

内容的提问来源于stack exchange,提问作者melimartine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 17:09:59