我有一個Windows窗體應用程序,其中包含一個TabControl,用於爲每個TabPage顯示圖像。包含PictureBox的面板不滾動
在TabPage中,我放置一個CustomControl來顯示圖像。 CustomControl有一些複選框用於設置圖像佈局,PictureBox和一個按鈕來刪除圖像。這是我的自定義控件的樣子:
我想在PictureBox是滾動因此,爲了做到這一點我想補充一個小組到CustomControl:
我設置此面板的Anchor屬性爲Left | Right | Top | Bottom和AutoScroll屬性爲True。
接下來,我把面板內我的Anchor屬性設置爲左在PictureBox | SizeMode到底部和自動調整大小右| |熱門:
當我開始我的應用程序和我點擊一個「添加圖像」按鈕,我用編程方式添加一個包含我的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大得多。)
下面是截圖:
我是否設置專家組或圖片框不正確的屬性?如果是這樣,我需要做什麼?
謝謝。
== UPDATE ==================================
我改變了建議將PictureBox的屬性固定爲none。這裏是我的最新佈局:
然而,這仍然無法正常工作。我看到了同樣的問題。沒有滾動條
這可能與事實有關,當我將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);
==========================================
我應該將Dock設置爲任何東西嗎? –
@JanTacci,不。設置「Dock」基本上會做同樣的事情。讓圖片框隨着內容的增長而縮小。你可以*技術上*設置錨''頂部|左'我猜,但我認爲你可以離開這一點,因爲這應該是**默認。** –
底層面板? Dock/Anchor屬性應該是什麼? –