트레이닝 센터

마우스 키보드 제어

일반셀에서 마우스를 이용하여 넓이나 높이 조절하기

기본적으로 Spread는 열과 행 헤더에서 마우스를 사용하면 행의 넓이와 열의 높이를 조절할 수 있습니다. 그러나 데이터 영역에서 선을 마우스로 끌면 열 너비와 행 높이가 변경되지 않습니다. 이 기능을 추가하는 방법을 설명 드리겠습니다.


Spread MouseDown, MouseMove 및 MouseUp 이벤트를 사용하며 코드는 다음과 같습니다.

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


    int start = 0;
    float width = 0;
    bool mousedown = false;


    private void Form1_Load(object sender, EventArgs e)
    {
        fpSpread1.ActiveSheet.ColumnHeader.Visible = false;
        fpSpread1.MouseDown += new MouseEventHandler(fpSpread1_MouseDown);
        fpSpread1.MouseUp += new MouseEventHandler(fpSpread1_MouseUp);
        fpSpread1.MouseMove += new MouseEventHandler(fpSpread1_MouseMove);
    }
    
    private void fpSpread1_MouseMove(object sender, MouseEventArgs e)
    {
        if (mousedown && e.Button == System.Windows.Forms.MouseButtons.Left)
        {
            fpSpread1.ActiveSheet.ActiveColumn.Width = width + (e.X - start);
        }
    }

    void fpSpread1_MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Left)
        {
            fpSpread1.Cursor = Cursors.VSplit;
            start = e.X;
            mousedown = true;
            width = fpSpread1.ActiveSheet.ActiveColumn.Width;
        }
    }

    void fpSpread1_MouseUp(object sender, MouseEventArgs e)
    {
        if (mousedown && e.Button == System.Windows.Forms.MouseButtons.Left)
        {
            start = 0;
            width = 0;
            mousedown = false;
        }
    }
}

아래의 샘플을 참고해 주시기 바랍니다.


샘플 다운로드



한국 그레이프시티 공식카페에서 기술지원을 받으실 수 있습니다.
이메일을 통해서도 기술지원을 받으실 수 있습니다.