using System.Drawing;
using System.Windows.Forms;
using Steema.TeeChart.Drawing;
using Steema.TeeChart.Styles;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : Form
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 바
/// </summary>
private Bar bar;
/// <summary>
/// 값 인덱스
/// </summary>
private int valueIndex = -1;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
Text = "Bar 클래스 : 마우스 아래 막대의 마커 표시하기";
this.tChart.Panel.Pen = new ChartPen(Color.Black);
this.bar = new Bar(this.tChart.Chart);
this.bar.FillSampleValues(6);
this.tChart.MouseMove += tChart_MouseMove;
this.bar.GetSeriesMark += bar_GetSeriesMark;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region TChart 마우스 이동시 처리하기 - tChart_MouseMove(sender, e)
/// <summary>
/// TChart 마우스 이동시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void tChart_MouseMove(object sender, MouseEventArgs e)
{
this.valueIndex = this.bar.Clicked(e.X, e.Y);
if(this.valueIndex != -1)
{
this.tChart.Refresh();
}
}
#endregion
#region 바 시리즈 마크 구하기 - bar_GetSeriesMark(series, e)
/// <summary>
/// 바 시리즈 마크 구하기
/// </summary>
/// <param name="series">시리즈</param>
/// <param name="e">이벤트 인자</param>
private void bar_GetSeriesMark(Series series, GetSeriesMarkEventArgs e)
{
if(e.ValueIndex == this.valueIndex)
{
e.MarkText = e.MarkText;
}
else
{
e.MarkText = string.Empty;
}
}
#endregion
}
}