Blog Content

    티스토리 뷰

    19.C#_WinForm - ImageViewer ( 이미지뷰어 )

    반응형

    스크롤바를 이용, 픽쳐박스의 크기를 변경하여 이미지를 보는 예제입니다.
    - 사용된 컨트롤
    PictureBox, VScrollBar, HScrollBar, OpenFileDialog


            메뉴추가 :
                    FrmMain - 샘플 - 이미지뷰어

    FrmImageViewer.Designer.cs

    [그림19-1]

            private System.Windows.Forms.PictureBox PicImg;
            private System.Windows.Forms.HScrollBar hScrollBar;
            private System.Windows.Forms.VScrollBar vScrollBar;
            private System.Windows.Forms.Button btnPicImage;
            private System.Windows.Forms.OpenFileDialog openFileDialog1;




    컨트롤 속성 지정
            PictureBox - Size = 50, 50
            VScrollBar - Value = 50
            HScrollBar - Value = 50
            OpenFileDialog - Filter = 비트맵|*.bmp|JPEG|*.jpg

    FrmImageViewer.cs
    //열기 버튼에 따른 클릭 이벤트 핸들러
    private void btnPicImage_Click(object sender, EventArgs e)
    {
            if (openFileDialog.ShowDialog() != DialogResult.Cancel)
            {
                    this.PicImg.ImageLocation = openFileDialog.FileName;
            }
    }

    //스크롤바 이용한 에벤트 핸들러
    //포인터사용하여 작성
    private void FrmImageViewer_Load(object sender, EventArgs e)
    {
            //포인터 변수의해서 주소값을 참고하게 된다
            p.X = hScrollBar.Value;// X
            p.Y = vScrollBar.Value;// Y

            // X Y 에따라 픽쳐 박스 사이즈 조절 하기 생성자 생성
            this.PicImg.Size = new Size(p);
    }

    Point p; //포인터 변수 선언
    private void vScrollBar_Scroll(object sender, ScrollEventArgs e)
    {
            //픽쳐박스 수직 사이즈 조절
            p.Y = hScrollBar.Value * 2;
            this.PicImg.Size = new Size(p);
    }

    private void hScrollBar_Scroll(object sender, ScrollEventArgs e)
    {
            //픽쳐박스 수평 사이즈 조절
            p.X = hScrollBar.Value * 2;
            this.PicImg.Size = new Size(p);
    }

    결과확인

    [그림19-2]

    19WinFrmMain.zip
    다운로드

    반응형

    'C#' 카테고리의 다른 글

    21.C#_WinForm - TreeView  (0) 2009.08.28
    20.C#_WinForm - ListView  (0) 2009.08.28
    18.C#_WinForm - CheckedListBox ( 체크 리스트박스 )  (0) 2009.08.28
    07.C#-Console 정리  (0) 2009.08.27
    17.C#_WinForm - 윈폼 창 정렬  (0) 2009.08.27

    Comments