首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ZedGraph C#条形图 - 如何检查鼠标单击了哪个栏?

ZedGraph是一个用于绘制图表的C#开源库,它提供了丰富的图表类型和交互功能。在使用ZedGraph绘制条形图时,可以通过以下步骤来检查鼠标单击了哪个栏:

  1. 首先,确保已经引入了ZedGraph库,并在项目中创建了一个ZedGraph控件。
  2. 在绘制条形图之前,需要创建一个BarItem对象的列表,用于存储每个栏的信息。可以使用BarItem类的构造函数来创建每个栏,并设置其位置、大小、颜色等属性。
  3. 在ZedGraph控件的MouseDown事件中,可以通过鼠标点击的坐标来判断点击了哪个栏。可以使用ZedGraph控件的ReverseTransform方法将鼠标点击的屏幕坐标转换为图表坐标。
  4. 遍历BarItem列表,判断鼠标点击的坐标是否在每个栏的范围内。可以使用BarItem的Rect属性获取每个栏的位置和大小信息,然后使用Rect.Contains方法判断鼠标点击的坐标是否在该范围内。
  5. 如果鼠标点击的坐标在某个栏的范围内,可以执行相应的操作,例如弹出提示框显示该栏的详细信息。

以下是一个示例代码,演示了如何检查鼠标单击了哪个栏:

代码语言:csharp
复制
using ZedGraph;

private List<BarItem> bars;

private void Form1_Load(object sender, EventArgs e)
{
    // 创建ZedGraph控件并添加到窗体中
    ZedGraphControl zedGraphControl1 = new ZedGraphControl();
    this.Controls.Add(zedGraphControl1);

    // 创建BarItem列表并添加栏的信息
    bars = new List<BarItem>();
    bars.Add(new BarItem(1, 10));
    bars.Add(new BarItem(2, 20));
    bars.Add(new BarItem(3, 15));

    // 绘制条形图
    GraphPane pane = zedGraphControl1.GraphPane;
    BarItem.CreateBarItems(pane, bars, Color.Blue);

    // 注册MouseDown事件
    zedGraphControl1.MouseDownEvent += new ZedGraphControl.MouseEventHandler(zedGraphControl1_MouseDown);
}

private void zedGraphControl1_MouseDown(object sender, MouseEventArgs e)
{
    // 将鼠标点击的屏幕坐标转换为图表坐标
    GraphPane pane = zedGraphControl1.GraphPane;
    double x, y;
    pane.ReverseTransform(e.Location, out x, out y);

    // 遍历BarItem列表,判断鼠标点击的坐标是否在栏的范围内
    foreach (BarItem bar in bars)
    {
        if (bar.Rect.Contains((float)x, (float)y))
        {
            // 执行相应的操作,例如弹出提示框显示该栏的详细信息
            MessageBox.Show("点击了栏:" + bar.Value);
            break;
        }
    }
}

这是一个简单的示例,你可以根据实际需求进行修改和扩展。关于ZedGraph的更多信息和用法,请参考腾讯云的相关产品和文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

串口助手(简洁版)上位机软件零基础教程( C# + visual studio2017 )(一)

大家好,又见面,我是你们的朋友全栈君。 本人所在铁人战队的实验室同学们主要从事单片机的编程开发。但比赛和项目过程中,常常都需要与机器人进行人机交互。...所以本文则介绍一下使用visual studio软件,进行C#上位机软件的开发入门。 以同学们常用的串口助手(简洁版)为例,来着手进行学习和入门。...同时窗体也可以用鼠标对准其边线,调整窗口的大小,以满足用户的需求,试一试!!...选择 工具箱 -》 公共控件 -》 comboBox(组合框控件),单击选择到窗体中。然后对准鼠标右键,选择 ‘属性’,弹出属性窗口。...这样我们就不用去调用设备管理器,看咱们该调成哪个串口号,是不是很高级!! 选择 工具箱 -》 组件 -》 Timer(定时器控件),单击选择到窗体中。他也是一个隐式控件。

6.7K21

Visual Studio 调试系列9 调试器提示和技巧

要固定数据提示,请在鼠标悬停其上时单击固定图标。 你可以固定多个变量。 ?...要查看纯文本、XML、HTML 或 JSON 字符串,请将鼠标悬停在包含字符串值的变量上,然后单击放大镜图标 ? 。 ? 字符串可视化工具可以帮你确定字符串的格式是否正确,具体取决于字符串的类型。...在源代码中显示线程 调试时,单击源中显示线程按钮 ? 中调试工具。 查看窗口左侧的滚动条。 在这一行,你可以看到线程标记图标 ? ,类似于两根细线。线程标记指示线程在此位置停止。...你可在模块窗口中检查 Visual Studio 如何加载符号文件。 在调试时,通过选择调试 > 窗口 > 模块 打开模块窗口。...了解如何调试器如何区分用户代码,请参阅仅我的代码。 若要了解有关符号文件的详细信息,请参阅在 Visual Studio 调试器中指定符号 (.pdb) 和源文件。

3.1K10

Excel动画图表示例:Excel也可以创建可视化的随时间而变化的排名

但正如已经提到的,它还需要能够根据进球差和得球数来区分哪个球队在积分榜上名列前茅。 还想使用每个球队的俱乐部徽章来显示与该俱乐部相关的数据。 使用簇状条形图,可以完成所有这些。...注意:之前提到,为GD和GS选择小比例因子。这是因为不希望有明显改变图表上条形图长度的值,只需要一个非常小的差异,让球队在相同的点上被分开。...图7 3.反向分类顺序 选择垂直坐标轴标签,单击鼠标右键,选取“设置坐标轴格式”命令,在“坐标轴选项”中选取“逆序类别”前的复选框,如下图8所示。 图8 现在的图表如下图9所示。...5.格式化系列2 选择系列2,单击鼠标右键,选取快捷菜单中的“设置数据系列格式”命令,选取“无边框”和“无线条”,如下图10所示。...图13 8.为系列2标签设置图像 仍然选择系列2数据标签,单击鼠标右键,从快捷菜单中选择“设置数据标签格式”命令。在“标签选项”中选取“图片或纹理填充”,如下图14所示。

7.2K70

引脚数据提示编辑代码并继续调试(C#,VB,C ++)编辑XAML代码并继续调试调试难以重现的问题配置数据以显示在调试器中更改执行流程跟踪范围外的对象(C#,Visual Basic)查看函数的返回值

引脚数据提示 如果在调试时经常将鼠标悬停在数据提示上,则可能需要将数据提示固定在变量上,以便快速访问。即使重新启动后,变量仍保持固定状态。要固定数据提示,请将鼠标悬停在其上方时,单击“固定”图标。...要查看纯文本,XML,HTML或JSON字符串,将鼠标 悬停在包含字符串值的变量上时,请单击放大镜图标。 字符串可视化工具可以帮助您找出字符串是否格式错误,具体取决于字符串类型。...在源代码中显示线程 调试时,单击“调试”工具中的“在源中显示线程”按钮。 查看窗口左侧的装订线。在此行上,您看到一个类似于两个布料线程的线程标记图标 。线程标记指示线程在此位置停止。...更加熟悉调试器如何附加到您的应用程序(C#,C ++,Visual Basic,F#) 要附加到正在运行的应用程序,调试器将加载与要调试的应用程序完全相同的内部版本生成的符号(.pdb)文件。...您可以使用“模块”窗口检查Visual Studio如何加载符号文件。 在调试时,通过选择“调试”>“ Windows”>“模块”,打开“模块”窗口。

4.5K41

Hyperledger Fabric和VSCode的IBM区块链扩展开发智能合约

否则,请更新你的VSCode,完成后,单击屏幕左侧边中的扩展名。在顶部,在扩展市场中搜索IBM Blockchain Platform。单击Install,然后单击reload。...单击实例化+ Instantiate。 2.然后,扩展将询问你在哪个频道实例化智能合约,选择mychannel。...3.在VSCode中,单击左侧中的IBM Blockchain Platform扩展。 4.在LOCAL FABRIC OPS下点击Nodes。...c#比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何C#代码中集成比特币支持功能,例如创建地址、管理钱包...C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。

2.8K30

Visual Studio 调试系列3 断点

有关调用堆栈的详细信息,请参阅如何:使用调用堆栈窗口。 断点是一个触发器。 您可以单击它,请按F9,或使用调试 > 切换断点删除或重新插入。...若要禁用断点而不删除它,将鼠标悬停或右键单击它,然后选择禁用断点。 已禁用的断点显示为左边距中的空点或断点窗口。 若要重新启用断点,请将鼠标悬停或右键单击它,然后选择启用断点。...以下两个部分介绍重要警告以及如何解决这些问题。 “尚未为此文档加载任何符号” 转到模块窗口 (调试 > Windows > 模块) 并检查是否为你的模块加载。 ? ? ?...若要禁用这些安全检查,请执行以下操作: 若要修改单个断点,请将鼠标悬停在编辑器中的断点图标,然后单击设置 (齿轮) 图标。 查看窗口添加到在编辑器中。 在查看窗口顶部,没有指示的断点的位置的超链接。...Debugger.Break如何工作的上一个检查中所述的测试,测试以及此问题。 11 删除了断点,但在再次启动调试时继续命中该断点 如果在调试时删除了断点,可能在下一步启动调试的时再次命中该断点。

5.2K20

Excel实例:Excel图表可视化:条形图、折线图、散点图和步骤图

p=16539 Excel提供相当广泛的功能来创建图形,即Excel所谓的 图表。您可以通过选择插入>图表来访问Excel的图表功能 。我们将在此处描述如何创建条形图和折线图。...通常,您可以将鼠标指针放在任何图表类型的图片上,以获取对该图表类型的简要说明。例如,第一种是二维并排条形图,而第二种是二维堆积条形图。...现在,我们通过以下示例演示如何创建条形图。 示例1 –为图1中的数据创建一个条形图。 第一步是将数据输入到工作表中。...为了使结果显示在图1中,我们还需要通过在图表上单击鼠标左键并将其拖动到所需位置来在工作表中移动图表。然后,我们可以通过单击图表的一个角并拖动角以更改尺寸来调整图表的大小,使其变小(或变大)。...您也可以通过单击图表,选择“ 设计”>“类型” |“更改图表类型” ,然后选择所需的图表类型(例如,堆叠的条形图而不是并排的条形图)来更改图表的类型。 折线图 折线图的创建过程与条形图相似。

5K10

Excel实例:Excel图表可视化:条形图、折线图、散点图和步骤图

p=16539 Excel提供相当广泛的功能来创建图形,即Excel所谓的  图表。您可以通过选择插入>图表来访问Excel的图表功能  。我们将在此处描述如何创建条形图和折线图。...通常,您可以将鼠标指针放在任何图表类型的图片上,以获取对该图表类型的简要说明。例如,第一种是二维并排条形图,而第二种是二维堆积条形图。...现在,我们通过以下示例演示如何创建条形图。 示例1  –为图1中的数据创建一个条形图。 第一步是将数据输入到工作表中。...为了使结果显示在图1中,我们还需要通过在图表上单击鼠标左键并将其拖动到所需位置来在工作表中移动图表。然后,我们可以通过单击图表的一个角并拖动角以更改尺寸来调整图表的大小,使其变小(或变大)。...您也可以通过单击图表,选择“  设计”>“类型” |“更改图表类型”  ,然后选择所需的图表类型(例如,堆叠的条形图而不是并排的条形图)来更改图表的类型。 折线图 折线图的创建过程与条形图相似。

4.1K00

js获取鼠标单击

利用OnMousedown和OnContextmenu添加鼠标左中右键单击的处理,返回event.button的值来判断是单击哪个键。...简单测试代码如下: <%@ Page Language="<em>C#</em>" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default.../<em>鼠标</em>左右键同时按下     {         alert("单击左右键");     }     if (button == 4) //鼠标中键     {          alert("单击中键...");     }     if (button == 5) //鼠标左键和中键同时按下     {          alert("单击左中键");      }      if (button =...= 6) //event.button==6  鼠标右键和中键同时按下      {          alert("单击右中键");      }      if (button == 7) //左右中三个键都按下

5.2K10

Visual Studio 调试系列2 基本调试方法

05 导航代码(使用鼠标快速运行到代码中的某个点) 在调试器中,将鼠标悬停在代码行上,直到“运行到单击处”(将执行运行到此处)按钮 ? 出现在左侧。 ?...低版本的VS,可以通过以下方式达到上述效果 (1)通过鼠标拖拽“黄色箭头”到目标位置行。 (2)参考第7步骤,“运行到光标处”功能。 单击“运行到单击处”(将执行运行到此处)按钮。...循环中运行到第2次时,控制台已经在第1次循环结束时输出打印内容。 此时单击调试工具中的“重启”按钮 ? (Ctrl+Shift+F5),控制台窗口关闭,立即重新开启一个新的控制台窗口。...09 使用数据提示检查变量 在调试器中暂停时,将鼠标悬停在对象上并看到其默认属性值。通常,当尝试调试问题时,通过此方式可以试图找出变量是否存储期望它们在特定应用状态具有的值。 ?...例如,你可将断点插入到指定的函数中,使用“运行到光标处”重启应用,然后检查源代码。 请参阅如何检查调用堆栈。 13 检查异常 应用引发异常时,调试器会将你转至引发异常的代码行。 ?

4.4K10

Python 学习入门(1)—— PyDev

验证是否成功安装 PyDev 如何才能验证 Eclipse Update Manager 是否已经成功安装了所需的 PyDev 插件呢?...检查一下在 Plug-in Id 一中是否至少有五个以上分别以 com.python.pydev 和 org.python.pydev 开头的插件。...双击标尺左边灰白的空白添加断点 鼠标右键单击标尺,在弹出的菜单中选择 ”Add Breakpoint” 添加断点。 图 18....右键单击标尺添加断点 将鼠标移至需要添加断点的代码行,使用快捷键 Ctrl+F10,在弹出的菜单中选择 ”Add Breakpoint” 添加断点。...在编辑器的标尺单击鼠标右键,弹出的菜单中选择 Breakpoint Properties。在显示的窗口中,选中复选框 ”Enable Condition”,输入需要满足的条件,单击 Ok。

1.8K30

使用Visual Studio Code开发.NET Core看这篇就够了

为了安装c#的扩展,你可以通过Visual Studio Code左侧工具中的Extensions图标或使用键盘快捷键Ctrl + Shift + X打开Extensions视图。...然后保存文件,并把鼠标移动到终端,然后终端cd到我们的项目目录cd DotNetCoreSample。输入dotnet run 然后按下Enter键,可以看到如下所示的内容: ?...幸运的是,Visual Studio Code扩展中提供类似于Visual Studio的解决防范资源管理的插件来解决这个问题。下面我们一步一步的看下如何使用此插件吧!...安装扩展程序后,您可以在左侧活动中看到一个烧杯图标。单击该图标,您将看到测试的侧面板,其中列出了项目中发现的单元测试。测试项目将显示在按命名空间和类分组的树视图中。...我们还可以注意到编辑器顶部出现一个调试工具。调试时,调试工具可用于代码导航选项。这里调试试图的大部分功能跟vs2017差不多,因此这里不做过多地阐述

5.4K00

excel也那绘制词云图哦!还有很多的可视化图表可挑选!

excel是老牌的数据可视化软件,很多方面都已经很完美了,很多的图表都可以轻松绘制出来,但如果想要做的好看,就需要一些技巧了。...一、获取插件 打开office加载项窗口:①单击【插入】选项卡→②在【加载项】中选择获取【加载项】。接着会弹出一个窗口,里面有很多的插件,有付费的也有免费的,大家如果感兴趣可以自行查看! ?...添加插件:①在弹出的office加载项窗口中选择【应用商店】→②在输入框中输入【E2D3】或点击左侧导航中的【可视化】,然后找到E2D3插件→③点击【添加】。 ? 接着点击【继续】: ?...接着会弹出插件E2D3的主界面,我们可以看到,里面有很多的可视化图表,比如条形图、折线图、地图、地图、时间轮播图等等: ?...鼠标下拉找到【词云图】: ? 把鼠标放到词云图上面,然后点击【visualize】: ? 这时会弹出一张词云图和一组数据: ? 而我们把这一组数据替换成自己的数据,即可绘制成功: ?

4.9K40

独家 | 手把手教数据可视化工具Tableau

注意:如果您希望能够指示 Tableau 如何将拖到视图的某个字段进行分类,以便覆盖默认值,请在将其拖到视图之前右键单击(在 Mac 上按住 Control 单击)该字段,Tableau 将提示您在指定放下该字段时如何在视图中使用它...STEP 3:在“列”上右键单击“SUM(Sales)”并选择快速表计算 –“总额百分比”。 STEP 4:单击工具上的“降序排序”按钮 ( ),按从最多到最少的顺序对类别进行排序。...视图显示不同的装运模式如何影响一段时间内的总销售额,且每年的比率似乎都一致。...若要更改调色板并使颜色更鲜明,请执行以下操作: 将鼠标指针悬停在“SUM(Profit)”颜色图例上,然后单击出现的下拉箭头并选择“编辑颜色”。...当“列”功能区上有一个维度且“行”功能区上有一个度量时,Tableau 将显示一个条形图(默认图表类型)。 STEP 4: 单击工具上的“智能显示”,然后选择填充气泡图图表类型。

18.8K71

如何删除word空白页技巧汇总

方法一:用鼠标把表格每一行的行高调小一点,空白页就不见了。 方法二: 1、选中空白页中的段落标记。 2、在Word菜单依次单击【编辑】【全选】菜单命令。...3、在Word菜单依次单击“格式”→“段落”菜单命令,打开“段落”对话框。在“行距”下拉菜单中选中“固定值”,并将“设置值”调整为“1”。设置完毕单击“确定”按钮。 ?...------------------------------------------------------------- Word2003怎么删除空白页 一本长篇小说终于编辑完成了,剩下的工作就是检查...第2步,在Word菜单依次单击“格式”→“段落”菜单命令,打开“段落”对话框。在“行距”下拉菜单中选中“固定值”,并将“设置值”调整为“1”。设置完毕单击“确定”按钮。如图所示~~ ?...word如何删除空白页 1.将鼠标放在前一页的最后,用DEL健删除。如果空白面是最后一页,且鼠标在第一行,可选“格式”-“段落”,将这一行的行距设为固定值1磅,该空白页将自动消失。

19.1K100

用WPF做一个简易浏览器

如果想在Windows平台上编写图形界面程序,而且没有跨平台且性能需求比较高,而且对C#语言比较熟悉,那么WPF就是最适合你的。...WPF虽然出来也有大概十来年,但是它的很多设计思想还是非常先进的,配合C#这门语言的话更加顺手。WPF的界面设计和程序功能完全解耦,也就是说设计界面和编写程序功能可以互不干扰的同时进行。...C#有一个特性叫做事件,WPF也利用了事件来处理程序响应。WPF的控件都包含了大量事件,可以处理鼠标、键盘、触屏等等各种事件,而且仅需要在XAML代码中添加一点代码就可以将事件和处理程序绑定起来。...下面代码中的Click和KeyDown就是两个事件,用于处理单击鼠标和键盘按键。...UrlTextBox_KeyDown" /> 每个事件的处理函数签名都不相同,比方说单击鼠标的事件签名就是

3.4K50

c#实战教程_ps初学者入门视频

1.16.1 事件驱动 Windows操作系统把用户的动作都看作消息,C#中称作事件,例如用鼠标左键单击按钮,发出鼠标单击按钮事件。...下面的例子定义一个Button组件,这个例子不完整,只是说明问题。实际在C#语言类库中已预定义Button组件,这里的代码只是想说明Button组件中是如何定义事件的。...,e.X和e.Y分别为发生事件时鼠标位置的x坐标和y坐标,e.Button表示用户单击鼠标那个键,如为MouseButtons.Left,表示单击鼠标左键。...,在窗口中移动鼠标,在第2中可以看到鼠标的位置不断变化。...(18) 为例子e3_17顶级菜单项颜色增加单击事件处理函数,在事件处理函数中判断显示的字符串的颜色,决定是否为相应的菜单项增加选中标志。 (19) 拖动鼠标左键时,在状态中显示鼠标的位置。

15.5K10

zblog怎么在移动端显示隐藏侧模块

首先打开谷歌浏览器(QQ/搜狗/360浏览器高速模式下也行),然后网页空白处单击鼠标右键,点击“检查”如图(其他浏览器可能叫“审查元素”),或者适用快捷键“F12”。 ?...部分网站可能开启“屏蔽F12”的功能,也就是开发者模式(检查,审查元素之类的名),无法查看具体元素,教你们一个办法,打开百度,按照如上操作,然后点击网址,换成被屏蔽开发者模式的网站就可以。...首先我们把页面滑动到最下面,然后点击鼠标图标如图,然后在页面随意滑动,右侧就会显示对应的模块代码,比如图中的主题DIV模块,因为主题模板已经隐藏,所以找不到具体的元素值,然后我们在主题模块下查看其他模块...鼠标滑动右侧模块,左侧就会显示对应的模块,如图: ?...看到这里我们应该知道侧哪个,就是“side fr”这个DIV,这个慢慢找总能找到,侧的命名一般也都是sidebar之类的,直接找到就行,然后查看代码:如图,side模块在屏幕像素小于999px的时候就被隐藏

1K20
领券