2011-01-13 57 views
1

好吧,我想創建一個類,將處理一個特殊的矩形圖形。創建一個保存/繪製一些圖形的類?

在我的表格中,我想要有兩個特殊的矩形。 因此,基本上,我需要在我的表單中使用這個類的兩個實例,對吧?

我設法初始化兩個,好吧。但是,我應該如何在一個班級中管理圖形/圖形等,並且將結果顯示在我的表單中?

回答

3

有你需要弄清楚把這個一起的幾個概念:

  • 你需要跟蹤你要畫的對象。你部分地在那裏,但這通常是通過一些類似List(of ...)的集合來完成的
  • 您需要處理Form類(或Panel或Control或任何您想要的視覺對象的Paint事件繪製或上)
  • 你需要在你噴漆處理
  • 每當你的應用程序的狀態變化,你需要調用的Invalidate正在被畫爲「力」一招鮮重畫的對象上繪製你的對象。

這裏有一個快速片段:

 ' suppose you have: 
    Private _myRects as New List(of Rectangle) ' populated elsewhere 

    ' then you handle the paint event of a UI control 
    Private Sub Control_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) _ 
    Handles MyBase.Paint 
     Dim g As Graphics = e.Graphics 

     ' loop through your collection drawing each rectangle: 
     for each rect As Rectangle in _myRects 
      g.FillRectangle(Brushes.Aqua, rect) 
     next for 

     ...more drawing as needed 
    end sub 

這裏是一個pretty nice tutorial .NET的繪畫用VB。如果你遵循它,你應該有所有的作品來做任何你喜歡的2D .NET繪圖。 (樂趣直到第2頁纔開始,但不跳過第1頁!)