2013-10-08 63 views
1

我有一個Windows窗體應用程序,其中包含一個TabControl,用於爲每個TabPage顯示圖像。包含PictureBox的面板不滾動

在TabPage中,我放置一個CustomControl來顯示圖像。 CustomControl有一些複選框用於設置圖像佈局,PictureBox和一個按鈕來刪除圖像。這是我的自定義控件的樣子:

Image Preview Custom Control

我想在PictureBox是滾動因此,爲了做到這一點我想補充一個小組到CustomControl:

Image Preview Custom Control - Panel

我設置此面板的Anchor屬性爲Left | Right | Top | Bottom和AutoScroll屬性爲True

接下來,我把面板內我的Anchor屬性設置爲左在PictureBox | SizeMode到底部和自動調整大小右| |熱門:

Image Preview Custom Control - PictureBox

當我開始我的應用程序和我點擊一個「添加圖像」按鈕,我用編程方式添加一個包含我的CustomControl的新TabPage,然後將圖像添加到CustomControl中:

// inside my main forms callback 
ImagePreviewCustomControl previewControl = new ImagePreviewCustomControl(bitMap); 
previewControl.Dock = DockStyle.Fill; 
TabPage tabPage = new TabPage(Path.GetFileNameWithoutExtension(imageFileName));     
tabPage.Controls.Add(previewControl); 
imagesTabControl.TabPages.Add(tabPage); 

// inside the custom control after the constructor 
imagePreviewPictureBox.BackgroundImage = bitMap; 
imagePreviewPictureBox.BackgroundImageLayout = imageLayout; 

但是,如果添加的圖像大於PictureBox,我看不到任何滾動條。 (圖像尺寸爲1035×1024,因此比在PictureBox大得多。)

下面是截圖:

Tab Control With TabPage Containing Picture

我是否設置專家組或圖片框不正確的屬性?如果是這樣,我需要做什麼?

謝謝。

== UPDATE ==================================

我改變了建議將PictureBox的屬性固定爲none。這裏是我的最新佈局:

Image Preview Custom Control - PictureBox

然而,這仍然無法正常工作。我看到了同樣的問題。沒有滾動條

這可能與事實有關,當我將CustomControl添加到TabPage時,我將它設置爲Dock到填充

ImagePreviewCustomControl previewControl = new ImagePreviewCustomControl(bitMap); 
previewControl.Dock = DockStyle.Fill; // << << << 
TabPage tabPage = new TabPage(Path.GetFileNameWithoutExtension(imageFileName));     
tabPage.Controls.Add(previewControl); 
imagesTabControl.TabPages.Add(tabPage); 

==========================================

回答

0

接下來,我將PictureBox放置在Panel中,我將它的Anchor屬性設置爲Left | Right | Top | Bottom ...

因此Panel不需要滾動,因爲圖片框永遠不會出現在視圖端口之外。不要Anchor的圖片框。

+0

我應該將Dock設置爲任何東西嗎? –

+0

@JanTacci,不。設置「Dock」基本上會做同樣的事情。讓圖片框隨着內容的增長而縮小。你可以*技術上*設置錨''頂部|左'我猜,但我認爲你可以離開這一點,因爲這應該是**默認。** –

+0

底層面板? Dock/Anchor屬性應該是什麼? –