2011-01-13 11 views
1

私は特殊な長方形のグラフィックスを扱うクラスを作成したいと思います。グラフィックを保持/描画するクラスを作成していますか?

私の形式では、これらの特殊な長方形の2つを持ちたいと思います。 基本的に、私は自分のフォームにそのクラスのインスタンスが2つ必要です。

私は2つの初期化することができます、大丈夫です。しかし、クラス内の描画/グラフィックスなどをどのように管理して、結果を自分のフォームに表示するにはどうすればいいですか?

答えて

0

あなたが読み上げる必要があるような音は、Developing Custom ControlsUsing GDI+ in Windows Formsです。

快適な椅子とホットココアの素敵なカップを掴んでください。あなたは読むことがたくさんあります。

3

は、あなたが一緒にこれを置くために把握する必要があり、いくつかの概念があります。

  • は、あなたが描くしようとしているオブジェクトを追跡する必要があります。あなたは部分的にそこにいますが、これは通常Listのような何らかのコレクションで行われます。
  • フォームクラス(またはPanelまたはControl)のペイントイベントを処理する必要があります。ドローインまたはオン)
  • オブジェクトを描画する必要があります。ペイントハンドラ
  • アプリケーションの状態が変わるたびに、ペイントされているオブジェクトに対して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 VBと.NETの絵に:

は、ここでは簡単の抜粋です。あなたがそれを実行する場合は、あなたが好きなような2D .NET図面のすべての種類を行う必要があります。 (楽しみは2ページまでは始まりませんが、1ページ目はスキップしてください!)

関連する問題