using System;
using System.Drawing;
using System.Windows.Forms;
using Steema.TeeChart.Drawing;
using Steema.TeeChart.Styles;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : Form
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
Text = "TChart 클래스 : Zomm/Panning 속성을 사용해 확대/스크롤시 키 시프트 설정하기";
this.keyShiftComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
this.keyShiftComboBox.Items.Add("None" );
this.keyShiftComboBox.Items.Add("Shift" );
this.keyShiftComboBox.Items.Add("Control");
this.keyShiftComboBox.Items.Add("Alt" );
this.keyShiftComboBox.SelectedIndex = 0;
this.applyToZoomCheckBox.Checked = true;
this.applyToScrollCheckBox.Checked = true;
this.tChart.Panel.Pen = new ChartPen(Color.Black);
Line line = new Line(this.tChart.Chart);
line.FillSampleValues(100);
this.keyShiftComboBox.SelectedIndexChanged += keyShiftComboBox_SelectedIndexChanged;
this.applyToZoomCheckBox.CheckedChanged += applyToZoomCheckBox_CheckedChanged;
this.applyToScrollCheckBox.CheckedChanged += applyToScrollCheckBox_CheckedChanged;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
//////////////////////////////////////////////////////////////////////////////// Event
#region 키 시프트 콤보 박스 선택 인덱스 변경시 처리하기 - keyShiftComboBox_SelectedIndexChanged(sender, e)
/// <summary>
/// 키 시프트 콤보 박스 선택 인덱스 변경시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void keyShiftComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
ApplyKeyShift();
}
#endregion
#region 확대 적용 체크 박스 체크 변경시 처리하기 - applyToZoomCheckBox_CheckedChanged(sender, e)
/// <summary>
/// 확대 적용 체크 박스 체크 변경시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void applyToZoomCheckBox_CheckedChanged(object sender, EventArgs e)
{
ApplyKeyShift();
}
#endregion
#region 스크롤 적용 체크 박스 체크 변경시 처리하기 - applyToScrollCheckBox_CheckedChanged(sender, e)
/// <summary>
/// 스크롤 적용 체크 박스 체크 변경시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void applyToScrollCheckBox_CheckedChanged(object sender, EventArgs e)
{
ApplyKeyShift();
}
#endregion
//////////////////////////////////////////////////////////////////////////////// Function
#region 키 시프트 적용하기 - ApplyKeyShift()
/// <summary>
/// 키 시프트 적용하기
/// </summary>
private void ApplyKeyShift()
{
Keys keys = (Keys)Enum.Parse(typeof(Keys), this.keyShiftComboBox.SelectedItem.ToString());
if(this.applyToZoomCheckBox.Checked)
{
this.tChart.Zoom.KeyShift = keys;
}
else
{
this.tChart.Zoom.KeyShift = Keys.None;
}
if(this.applyToScrollCheckBox.Checked)
{
this.tChart.Panning.KeyShift = keys;
}
else
{
this.tChart.Panning.KeyShift = Keys.None;
}
}
#endregion
}
}