1
我有一個圖表(myChart)和更多ChartArea在MyArea中是ChartAreasCollection。我必須確定是否在集合的某個ChartArea中進行了雙擊以選擇它。通過下面編寫的代碼,每個ChartArea都具有相同的限制值(x,y),因此if條件始終爲真,即使點擊是在第一個區域完成的。檢測哪個ChartArea被雙擊
每個chartarea都可以看到或不可見,所以使用這個函數我必須檢查計數器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);
}
}
}
我認爲你捕捉同一方法中所有圖表的點擊事件,是否正確? – Zalomon