2010-04-16 41 views
0

我正在學習GDI +,並且正在嘗試使用滾動條創建顯示窗口(所以我一次只能看到圖像的一部分,並且可以滾動它)。我已經從幾本書中讀了GDI +的基礎知識,但是我還沒有在網上找到任何好的教程,或者在我可以使用的書籍中找到有關做更高級的事情。創建一個圖像查看器窗口controll

對指南或示例代碼的任何建議如何做到這一點?

這裏是我迄今爲止

protected override void OnPaint(PaintEventArgs e) 
{ 
    base.OnPaint(e); 
    if (Label != null) 
    { 
     using (Bitmap drawnLabel = new Bitmap(Label.LabelHeight, Label.LableLength, System.Drawing.Imaging.PixelFormat.Format1bppIndexed)) 
     using (Graphics drawBuffer = Graphics.FromImage(drawnLabel)) 
     { 
      drawBuffer.ScaleTransform(_ImageScaleFactor, _ImageScaleFactor); 
      foreach (Epl2.IDrawableCommand cmd in Label.Collection) 
      { 
       cmd.Paint(drawBuffer); 
      } 
      drawBuffer.ResetTransform(); 
     } 
    } 
} 

我想在一個PictureBox我對控制繪製此和控制什麼是一個VScrollBarHScrollBar顯示,但我不知道如何去做那一步。

P.S. 標籤是一個自定義類,在我的名稱空間中,它是一個代表要從標籤打印機打印的標籤的對象。

回答

2

你需要做的是:

  • 主機窗體上的Panel控件(或重用一個用戶控件)
  • 設置面板AutoScroll屬性爲True
  • 做一個PictureBox控件該小組的孩子
  • 調整PictureBox控件它包含在運行時

小組共同圖像的大小ntrol將根據需要顯示垂直和水平滾動條,爲您提供所需的功能。

要做你自己的縮放,你可能實際上放棄了PictureBox控件。按照上面的步驟,而不是一個PictureBox,主父面板內的另一個面板,根據需要調整大小,並處理其縮放的Paint事件。