첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

TestProject.zip
0.01MB

▶ MainForm.cs

using System;
using System.Drawing;
using System.Windows.Forms;

using Steema.TeeChart.Drawing;
using Steema.TeeChart.Editors;
using Steema.TeeChart.Editors.Tools;
using Steema.TeeChart.Styles;
using Steema.TeeChart.Tools;

namespace TestProject
{
    /// <summary>
    /// 메인 폼
    /// </summary>
    public partial class MainForm : Form
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Field
        ////////////////////////////////////////////////////////////////////////////////////////// Private

        #region Field

        /// <summary>
        /// 바
        /// </summary>
        private Bar bar;

        /// <summary>
        /// 페이더 도구
        /// </summary>
        private FaderTool faderTool;

        #endregion

        //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
        ////////////////////////////////////////////////////////////////////////////////////////// Public

        #region 생성자 - MainForm()

        /// <summary>
        /// 생성자
        /// </summary>
        public MainForm()
        {
            InitializeComponent();

            Text = "FaderTool 클래스 사용하기";

            this.tChart.Panel.Pen = new ChartPen(Color.Black);

            this.bar = new Bar(this.tChart.Chart);

            this.bar.FillSampleValues();

            this.faderTool = new FaderTool(this.tChart.Chart);

            this.faderTool.Color = this.tChart.Panel.Gradient.EndColor;
            this.faderTool.Speed = 2;

            this.startButton.Click   += startButton_Click;
            this.editButton.Click    += editButton_Click;
            this.faderTool.FaderStop += faderTool_FaderStop; 
        }

        #endregion

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Private

        #region 시작 버튼 클릭시 처리하기 - startButton_Click(sender, e)

        /// <summary>
        /// 시작 버튼 클릭시 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        private void startButton_Click(object sender, EventArgs e)
        {
            if(this.startButton.Text == "시작")
            {
                this.startButton.Text = "중단";

                this.faderTool.Start();
            }
            else if(this.startButton.Text == "중단")
            {
                this.startButton.Text = "시작";

                this.faderTool.Stop();
            }
        }

        #endregion
        #region 편집 버튼 클릭시 처리하기 - editButton_Click(sender, e)

        /// <summary>
        /// 편집 버튼 클릭시 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        private void editButton_Click(object sender, EventArgs e)
        {
            FaderToolEditor faderEdit = new FaderToolEditor(this.faderTool);

            EditorUtils.Translate(faderEdit);
            EditorUtils.ShowFormModal(faderEdit);
        }

        #endregion
        #region 페이더 도구 페이더 중단시 처리하기 - faderTool_FaderStop(sender, e)

        /// <summary>
        /// 페이더 도구 페이더 중단시 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        private void faderTool_FaderStop(object sender, EventArgs e)
        {
            if(this.startButton.Text == "Stop")
            {
                if(this.faderTool.Style == FaderStyle.FadeIn)
                {
                    this.faderTool.Style = FaderStyle.FadeOut;
                }
                else
                {
                    this.faderTool.Style = FaderStyle.FadeIn;
                }

                this.faderTool.Start();
            }
        }

        #endregion
    }
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요