-1

ベクトル プリミティブを描画するための C# アプリを作成しました。描画面には、TabControl に配置された Draw.DoubleBufferedPanel を使用します。新しいプロジェクトを作成すると、新しい Draw.DoubleBufferedPanel を含む新しいタブ ページが作成されました。しかし、ドローイング用のボタンのクリックイベントでは、プライマリ Draw.DoubleBufferedPanel を使用し、新しいタブを作成すると何も描画できません。新しく作成されたプロジェクトを描画するには、何をする必要がありましたか?

4

1 に答える 1

0

コントロール階層が正しいことを確認してください。

  • メインフォーム
    • タブ コントロール
    • タブページ1
      • MyDrawingControl1 : MyDrawControl
    • タブページ 2
      • MyDrawingControl2 : MyDrawControl

次に、MyDrawControl (そのインスタンスではない) のペイント ハンドラーで、クリッピングをそのまま残して、独自のサーフェス (グラフィック) のみにペイントする必要があります。

アップデート:

カスタム描画を行うコントロールを実装する方法については、こちらを参照してください。一般に、独自のクラスを作成し、コントロール (または Button などの子孫の 1 つ) から継承し、OnPaint() メソッドを実装する必要があります。OnPaint() では、Graphic を使用してペイントできます。コントロールを DoubleBuffered = true に設定できるため、Winforms は OnPaint() コードの周りにダブル バッファリングを自動的に適用します。

于 2012-09-05T11:24:12.630 に答える