2011-09-10 51 views
2

我有TabPageControl和其中的一些TabPages。我需要將大圖像放入tabpage中,並每30秒更改一次,我只想看到圖像的一部分。所以我需要滾動。但我有下一個麻煩:當我滑動滾動條時,圖像消失或塗抹在1條黑色條紋中。我搜索了這個麻煩,但沒有找到任何信息。使圖像可滾動

+0

假設您使用WinForms是否正確?你把圖片放在PictureBox控件中嗎? –

+0

您是使用WinForms還是WPF?你用一個PictureBox來顯示你的圖像嗎?向我們展示您的代碼的一部分... – Marco

+0

我使用WinForms,並且不會將圖片放入圖片框中。我從tabpage.backgroundimage獲取圖形並繪製它。 'grBackground = Graphics.FromImage(this.currTPage.BackgroundImage); grBackground.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; grBackground.DrawLine(drawingPen,point1,point2);' –

回答

4

我建議你爲此使用一個PictureBox。

將TabPage.AutoScroll屬性設置爲true,這將導致標籤頁顯示滾動條,如果內容大於標籤頁。

將PictureBox.SizeMode設置爲PictureBoxSizeMode.AutoSize,這將使圖片框控件將其自身大小調整爲加載圖片的大小。如果圖片框大於它所在的標籤頁,標籤頁將顯示必要的滾動條並且它們應該按預期工作。

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

如果需要,您可以在圖片框上繪圖。您通常會在圖片框的Paint事件中執行此繪圖。

0

另一個建議是將picturebox放在FlolayoutPanel中。將FlolayoutPanel的自動滾動設置爲true,並將圖片大小模式設置爲正常