【发布时间】:2016-08-14 11:04:51
【问题描述】:
我在 MyArea 中有一个图表 (myChart) 和更多 ChartArea,即 ChartAreasCollection。我必须确定是否在集合的某个 ChartArea 中进行了双击以选择它。使用下面编写的代码,每个 ChartArea 都具有相同的限制 (x,y) 值,因此 if 条件始终为真,即使单击是在第一个区域上完成的。
每个图表区域都可以可见或不可见,因此要使用此功能,我必须使用计数器 ActiveAreas 检查是否可见多个。
private void chartInForm_DoubleClick(object sender, EventArgs e)
{
if (ActiveAreas > 1)
{
Point mouse = ((MouseEventArgs)e).Location;
foreach (ChartArea ca in MyArea)
{
if (mouse.X > ca.Position.X &&
mouse.X < ca.Position.X + ca.Position.Width * myChart.Width / 100 &&
mouse.Y > ca.Position.Y &&
mouse.Y < ca.Position.Y + ca.Position.Height * myChart.Height / 100)
MessageBox.Show(ca.Name);
}
}
}
【问题讨论】:
-
我认为您正在以相同的方法捕获所有图表的点击事件,对吗?
标签: c# winforms charts double-click