2011-09-10 4 views
2

TabPageControl과 그 안에 일부 TabPages가 있습니다. 큰 이미지를 탭 페이지에 넣고 30 초마다 변경해야하며 이미지의 일부만보고 싶습니다. 그래서 스크롤해야합니다. 하지만 다음 문제가 있습니다. 스크롤 막대를 밀면 이미지가 사라지거나 1 개의 검은 색 줄무늬가 생깁니다. 나는이 문제를 봤지만 아무런 정보도 찾지 못했다.이미지를 스크롤 가능하게 만들기

+0

WinForms를 사용한다고 가정하는 것이 맞습니까? 그림을 PictureBox 컨트롤에 넣고 있습니까? –

+0

WinForms 또는 WPF를 사용하고 있습니까? PictureBox를 사용하여 이미지를 표시합니까? 코드의 일부분을 보여주십시오. – Marco

+0

WinForms를 사용하며 그림을 그림 상자에 넣지 않습니다. tabpage.backgroundimage에서 그래픽을 가져 와서 그 위에 그립니다. 'grBackground = Graphics.FromImage (this.currage.BackgroundImage); grBackground.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; grBackground.DrawLine (drawingPen, point1, point2); ' –

답변

4

이 용도로 PictureBox를 사용하는 것이 좋습니다.

TabPage.AutoScroll 속성을 true로 설정하면 내용이 탭 페이지보다 큰 경우 탭 페이지에 스크롤 막대가 표시됩니다.

PictureBox.SizeMode를 PictureBoxSizeMode.AutoSize로 설정하면 PictureBox 컨트롤의 크기가로드 된 이미지의 크기에 맞게 조절됩니다. 그림 상자가있는 탭 페이지보다 크면 탭 페이지에 필요한 스크롤 막대가 표시되고 예상대로 작동해야합니다.

tabPage1.AutoScroll = true; 
    pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize; 

다음에 필요한 경우 그림 상자에 그림을 그릴 수 있습니다. 일반적으로이 그림은 그림 상자 Paint 이벤트에서 수행합니다.

0

또 다른 제안은 그림 상자를 FlolayoutPanel에 넣는 것입니다. FlolayoutPanel의 자동 스크롤을 true로 설정하고 그림 크기 모드를 보통으로 설정하십시오.

관련 문제