2011-09-06 7 views
0

PanelのGraphicsオブジェクトに、別のクラスの関数のパラメータとして渡してアクセスしようとしていますが、「パラメータが無効です」というエラーが表示されます。
これは私がパネルクラスで使用しているコードです:
別のクラスからGraphicsオブジェクトにアクセスする

Graphics g = contentPan.CreateGraphics();//contentPan is a Panel 
RectMaker rect_Maker = new RectMaker(); 
rect_Maker.Draw(g); 

これはRectMakerクラス内に存在する関数である。

public void Draw(Graphics g) 
{ 
    try 
    { 
    g.FillRectangles(Brushes.White, SmallRect); 
    g.DrawRectangles(Pens.Black, SmallRect); 
    } 
    catch (Exception ex) 
    { 
    MessageBox.Show(ex.Message); 
    } 
} 

それはGraphicsオブジェクトにアクセスすることが可能です別のクラスのパネルの

答えて

1

パネルにビットマップが表示されている場合、そのパネルからグラフィックスオブジェクトを生成し、パネルを無効にして更新を表示できます。

パネルを無効にして、この他のクラスの新しい情報で更新を描画します。

どちらの方法でも、パネルのペイントイベントでこの作業を行う必要があります。このイベントは、無効化するとトリガされます。

private void panel1_Paint(object sender, PaintEventArgs e) 
{ 
    RectMaker rect_Maker = new RectMaker(); 
    rect_Maker.Draw(e.Graphics); 
} 
関連する問題