Home 소개       다운로드       온라인 설명서      주식/코인 차트    Q & A     Blog    

범례 클릭 마우스 이벤트 주기







범례 한 아이템의 클릭 이벤트를 잡아서 시리즈를 Visible 효과를 주는 샘플입니다.




차트 영역 드래그 하기  마우스 Move 이벤트를 통해 수치 표현  박스플롯차트 마우스 이벤트(수치보기)  범례 클릭 마우스 이벤트 주기  주식차트 마우스무브 이벤트로 십자 라인 그리기  라인차트 마우스무브 이벤트 데이터 수치 보이기  히포차트 4.3 - 현재 마우스가 위치한 곳의 YValue 값 알기  


C#
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Hippo;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
SeriesList sList = new SeriesList();
sList.ChartType = ChartType.Line;

Random r = new Random();
for(int i = 0; i < 5; i++)
{
Series sr = new Series();

for(int x = 0; x < 5; x++)
{
SeriesItem item = new SeriesItem();
item.Name = x.ToString();
item.YValue = r.Next(90);

sr.items.Add(item);
}
sList.SeriesCollection.Add(sr);
}

this.hHippoChart1.SeriesListDictionary.Add(sList);
this.hHippoChart1.DrawChart();
}

private void hHippoChart1_ChartMouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
for(int i = 0; i < this.hHippoChart1.LegendBox.LegendBoxItems[0].Rows.Count; i++)
{
LegendRow row = this.hHippoChart1.LegendBox.LegendBoxItems[0].Rows[i];
RectangleF rowRec = row.ItemRectangle;
if (e.X >= rowRec.Left && e.X <= rowRec.Right && e.Y >= rowRec.Top && e.Y <= rowRec.Bottom)
{
if (this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[i].ForeColor == Color.Black)
{
this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[i].ForeColor = Color.Red;
for(int x = 0; x < this.hHippoChart1.SeriesListDictionary[0].SeriesCollection.Count; x++)
{
if (x != i) this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[x].Visible = false;
}
}
else
{
this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[i].ForeColor = Color.Black;
for(int x = 0; x < this.hHippoChart1.SeriesListDictionary[0].SeriesCollection.Count; x++)
{
if (x != i) this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[x].Visible = true;
}
}
}
}
this.hHippoChart1.DrawChart();
}
}
}
}


VB
 
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Imports Hippo

Namespace WindowsApplication1
Public Partial Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs)
Dim sList As New. SeriesList()
sList.ChartType = ChartType.Line

Dim r As New. Random()
For i As Integer = 0 To 4
Dim sr As New. Series()

For x As Integer = 0 To 4
Dim item As New. SeriesItem()
item.Name = x.ToString()
item.YValue = r.[Next](90)

sr.items.Add(item)
Next
sList.SeriesCollection.Add(sr)
Next

Me.hHippoChart1.SeriesListDictionary.Add(sList)
Me.hHippoChart1.DrawChart()
End Sub

Private Sub hHippoChart1_ChartMouseClick(sender As Object, e As MouseEventArgs)
If e.Button = MouseButtons.Left Then
For i As Integer = 0 To Me.hHippoChart1.LegendBox.LegendBoxItems(0).Rows.Count - 1
Dim row As LegendRow = Me.hHippoChart1.LegendBox.LegendBoxItems(0).Rows(i)
Dim rowRec As RectangleF = row.ItemRectangle
If e.X >= rowRec.Left AndAlso e.X <= rowRec.Right AndAlso e.Y >= rowRec.Top AndAlso e.Y <= rowRec.Bottom Then
If Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(i).ForeColor = Color.Black Then
Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(i).ForeColor = Color.Red
For x As Integer = 0 To Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection.Count - 1
If x <> i Then
Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(x).Visible = False
End If
Next
Else
Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(i).ForeColor = Color.Black
For x As Integer = 0 To Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection.Count - 1
If x <> i Then
Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(x).Visible = True
End If
Next
End If
End If
Next
Me.hHippoChart1.DrawChart()
End If
End Sub
End Class
End Namespace


※ 히포차트 샘플 코드는 버전별로 상이한 결과를 나타낼 수 있습니다.

이 코드 관련 문의 사항은 페이스북 리플을 달아주시거나 아래 이메일로 이 페이지 주소와 함께 문의주세요.

helpdesk@hippochart.com





Copyright © 2009-2018 투데이트레이딩. Inc.  All Rights Reserved.